MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / handleGooglePOST

Method handleGooglePOST

rest/google.go:29–52  ·  view source on GitHub ↗

POST /_google creates a google-based login session and sets its cookie.

()

Source from the content-addressed store, hash-verified

27
28// POST /_google creates a google-based login session and sets its cookie.
29func (h *handler) handleGooglePOST() error {
30 err := h.checkLoginCORS()
31 if err != nil {
32 return err
33 }
34
35 var params struct {
36 IDToken string `json:"id_token"`
37 }
38
39 err = h.readJSONInto(&params)
40 if err != nil {
41 return err
42 }
43
44 // validate the google id token
45 googleResponse, err := verifyGoogle(params.IDToken, h.server.Config.DeprecatedConfig.Google.AppClientID)
46 if err != nil {
47 return err
48 }
49
50 createUserIfNeeded := h.server.Config.DeprecatedConfig.Google.Register
51 return h.makeSessionFromNameAndEmail(googleResponse.UserID, googleResponse.Email, createUserIfNeeded)
52}
53
54func verifyGoogle(idToken string, allowedAppID []string) (*GoogleResponse, error) {
55 destUrl := googleTokenInfoURL + idToken

Callers

nothing calls this directly

Calls 4

checkLoginCORSMethod · 0.95
readJSONIntoMethod · 0.95
verifyGoogleFunction · 0.85

Tested by

no test coverage detected