7 "github.com/pusher/oauth2_proxy/api"
8 "github.com/pusher/oauth2_proxy/logger"
9 "github.com/pusher/oauth2_proxy/pkg/apis/sessions"
12// GitLabProvider represents an GitLab based Identity Provider
13type GitLabProvider struct {
17// NewGitLabProvider initiates a new GitLabProvider
18func NewGitLabProvider(p *ProviderData) *GitLabProvider {
19 p.ProviderName = "GitLab"
20 if p.LoginURL == nil || p.LoginURL.String() == "" {
21 p.LoginURL = &url.URL{
24 Path: "/oauth/authorize",
27 if p.RedeemURL == nil || p.RedeemURL.String() == "" {
28 p.RedeemURL = &url.URL{
34 if p.ValidateURL == nil || p.ValidateURL.String() == "" {
35 p.ValidateURL = &url.URL{
44 return &GitLabProvider{ProviderData: p}
47// GetEmailAddress returns the Account email address
48func (p *GitLabProvider) GetEmailAddress(s *sessions.SessionState) (string, error) {
50 req, err := http.NewRequest("GET",
51 p.ValidateURL.String()+"?access_token="+s.AccessToken, nil)
53 logger.Printf("failed building request %s", err)
56 json, err := api.Request(req)
58 logger.Printf("failed making request %s", err)
61 return json.Get("email").String()
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list