MCPcopy Create free account
hub / github.com/supabase/auth / SignupAnonymously

Method SignupAnonymously

internal/api/anonymous.go:12–62  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

10)
11
12func (a *API) SignupAnonymously(w http.ResponseWriter, r *http.Request) error {
13 ctx := r.Context()
14 config := a.config
15 db := a.db.WithContext(ctx)
16 aud := a.requestAud(ctx, r)
17
18 if config.DisableSignup {
19 return apierrors.NewUnprocessableEntityError(apierrors.ErrorCodeSignupDisabled, "Signups not allowed for this instance")
20 }
21
22 params := &SignupParams{}
23 if err := retrieveRequestParams(r, params); err != nil {
24 return err
25 }
26 params.Aud = aud
27 params.Provider = "anonymous"
28
29 newUser, err := params.ToUserModel(false /* <- isSSOUser */)
30 if err != nil {
31 return err
32 }
33 if err := a.triggerBeforeUserCreated(r, db, newUser); err != nil {
34 return err
35 }
36
37 var grantParams models.GrantParams
38 grantParams.FillGrantParams(r)
39
40 var token *AccessTokenResponse
41 err = db.Transaction(func(tx *storage.Connection) error {
42 var terr error
43 newUser, terr = a.signupNewUser(tx, newUser)
44 if terr != nil {
45 return terr
46 }
47 token, terr = a.issueRefreshToken(r, w.Header(), tx, newUser, models.Anonymous, grantParams)
48 if terr != nil {
49 return terr
50 }
51 return nil
52 })
53 if err != nil {
54 return apierrors.NewInternalServerError("Database error creating anonymous user").WithInternalError(err)
55 }
56 if err := a.triggerAfterUserCreated(r, db, newUser); err != nil {
57 return err
58 }
59
60 metering.RecordLogin(metering.LoginTypeAnonymous, newUser.ID, nil)
61 return sendJSON(w, http.StatusOK, token)
62}

Callers 1

NewAPIWithVersionFunction · 0.95

Calls 15

requestAudMethod · 0.95
ToUserModelMethod · 0.95
FillGrantParamsMethod · 0.95
signupNewUserMethod · 0.95
issueRefreshTokenMethod · 0.95
NewInternalServerErrorFunction · 0.92
RecordLoginFunction · 0.92
retrieveRequestParamsFunction · 0.85
sendJSONFunction · 0.85

Tested by

no test coverage detected