// Github returns a new Github OAuth 2.0 backend endpoint. func Github(conf *oauth2.Config) macaron.Handler { conf.Endpoint = oauth2.Endpoint{ AuthURL: "https://github.com/login/oauth/authorize", TokenURL: "https://github.com/login/oauth/access_token", } return NewOAuth2Provider(conf) }
// LinkedIn returns a new LinkedIn OAuth 2.0 backend endpoint. func LinkedIn(conf *oauth2.Config) macaron.Handler { conf.Endpoint = oauth2.Endpoint{ AuthURL: "https://www.linkedin.com/uas/oauth2/authorization", TokenURL: "https://www.linkedin.com/uas/oauth2/accessToken", } return NewOAuth2Provider(conf) }
// Facebook returns a new Facebook OAuth 2.0 backend endpoint. func Facebook(conf *oauth2.Config) macaron.Handler { conf.Endpoint = oauth2.Endpoint{ AuthURL: "https://www.facebook.com/dialog/oauth", TokenURL: "https://graph.facebook.com/oauth/access_token", } return NewOAuth2Provider(conf) }
// WeChat returns a new WeChat OAuth 2.0 backend endpoint func WeChat(conf *oauth2.Config) martini.Handler { conf.Endpoint = oauth2.Endpoint{ AuthURL: "https://open.weixin.qq.com/connect/qrconnect", TokenURL: "https://api.weixin.qq.com/sns/oauth2/access_token?grant_type=authorization_code", } return NewOAuth2ProviderCN(conf) }
/** * This creates a new OAuth configuration and synchronizes concurrent access * to that configuration. * This is expected since ServerHTTP run on their own goroutine * @param path is the path to retrieve CA certificates * @param c is the channel to write to * @see #PopulateCertPool(string) */ func OAuthConfigurationManager(clientid, clientsecret, redirecturl, authurl, tokenurl string, c chan *oauth2.Config) { var logger = NewPrefixed("security#OAuthConfigurationManager") oauthConfig := new(oauth2.Config) oauthConfig.ClientID = clientid oauthConfig.ClientSecret = clientsecret oauthConfig.Scopes = []string{"email"} oauthConfig.RedirectURL = redirecturl oauthConfig.Endpoint = oauth2.Endpoint{ AuthURL: authurl, TokenURL: tokenurl, } for { select { case c <- oauthConfig: logger.Finest("Written OAuthconf : %v", oauthConfig) } } }
// Google returns a new Google OAuth 2.0 backend endpoint. func Google(conf *oauth2.Config) macaron.Handler { conf.Endpoint = google.Endpoint return NewOAuth2Provider(conf) }