Beispiel #1
0
// 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)
}
Beispiel #2
0
// 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)
}
Beispiel #3
0
// 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)
}
Beispiel #4
0
// 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)
}
Beispiel #5
0
/**
 * 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)
		}
	}
}
Beispiel #6
0
// Google returns a new Google OAuth 2.0 backend endpoint.
func Google(conf *oauth2.Config) macaron.Handler {
	conf.Endpoint = google.Endpoint
	return NewOAuth2Provider(conf)
}