MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / HandleUserCallback

Function HandleUserCallback

cmd/cql-proxy/auth/user.go:113–152  ·  view source on GitHub ↗

HandleUserCallback handles the user oauth callback process.

(c *gin.Context, provider string, clientID string, clientSecret string,
	success UserSuccessCallback, fail UserFailCallback)

Source from the content-addressed store, hash-verified

111
112// HandleUserCallback handles the user oauth callback process.
113func HandleUserCallback(c *gin.Context, provider string, clientID string, clientSecret string,
114 success UserSuccessCallback, fail UserFailCallback) {
115 switch provider {
116 case "google":
117 google.StateHandler(
118 gologin.DebugOnlyCookieConfig,
119 google.CallbackHandler(
120 getGoogleConfig(clientID, clientSecret, ""),
121 googleAuthCallback(c, success, fail), wrapFailCallback(fail)),
122 ).ServeHTTP(c.Writer, c.Request)
123 case "facebook":
124 cfg := getFacebookConfig(clientID, clientSecret, "")
125 facebook.StateHandler(
126 gologin.DebugOnlyCookieConfig,
127 oauth2Login.CallbackHandler(cfg,
128 facebookAuthCallback(c, success, fail, cfg), wrapFailCallback(fail)),
129 ).ServeHTTP(c.Writer, c.Request)
130 case "twitter":
131 twitter.CallbackHandler(
132 getTwitterConfig(clientID, clientSecret, ""),
133 twitterAuthCallback(c, success, fail), wrapFailCallback(fail),
134 ).ServeHTTP(c.Writer, c.Request)
135 case "github":
136 cfg := getGithubConfig(clientID, clientSecret, "")
137 github.StateHandler(
138 gologin.DebugOnlyCookieConfig,
139 oauth2Login.CallbackHandler(cfg,
140 githubAuthCallback(c, success, fail, cfg), wrapFailCallback(fail)),
141 ).ServeHTTP(c.Writer, c.Request)
142 case "weibo":
143 cfg := getSinaWeiboConfig(clientID, clientSecret, "")
144 oauth2Login.StateHandler(
145 gologin.DebugOnlyCookieConfig,
146 oauth2Login.CallbackHandler(cfg,
147 sinaWeiboAuthCallback(c, success, fail, cfg), wrapFailCallback(fail)),
148 ).ServeHTTP(c.Writer, c.Request)
149 default:
150 fail(ErrUnsupportedUserAuthProvider)
151 }
152}
153
154func getGoogleConfig(clientID string, clientSecret string, callback string) *oauth2.Config {
155 return &oauth2.Config{

Callers 1

handleUserOAuthCallbackFunction · 0.92

Calls 11

getGoogleConfigFunction · 0.85
googleAuthCallbackFunction · 0.85
wrapFailCallbackFunction · 0.85
getFacebookConfigFunction · 0.85
facebookAuthCallbackFunction · 0.85
getTwitterConfigFunction · 0.85
twitterAuthCallbackFunction · 0.85
getGithubConfigFunction · 0.85
githubAuthCallbackFunction · 0.85
getSinaWeiboConfigFunction · 0.85
sinaWeiboAuthCallbackFunction · 0.85

Tested by

no test coverage detected