MCPcopy Create free account
hub / github.com/rilldata/rill / IssueUserAuthToken

Method IssueUserAuthToken

admin/auth_token.go:51–75  ·  view source on GitHub ↗

IssueUserAuthToken generates and persists a new auth token for a user.

(ctx context.Context, userID, clientID, displayName string, representingUserID *string, ttl *time.Duration, refresh bool)

Source from the content-addressed store, hash-verified

49
50// IssueUserAuthToken generates and persists a new auth token for a user.
51func (s *Service) IssueUserAuthToken(ctx context.Context, userID, clientID, displayName string, representingUserID *string, ttl *time.Duration, refresh bool) (AuthToken, error) {
52 tkn := authtoken.NewRandom(authtoken.TypeUser)
53
54 var expiresOn *time.Time
55 if ttl != nil {
56 t := time.Now().Add(*ttl)
57 expiresOn = &t
58 }
59
60 uat, err := s.DB.InsertUserAuthToken(ctx, &database.InsertUserAuthTokenOptions{
61 ID: tkn.ID.String(),
62 SecretHash: tkn.SecretHash(),
63 UserID: userID,
64 AuthClientID: &clientID,
65 DisplayName: displayName,
66 RepresentingUserID: representingUserID,
67 Refresh: refresh,
68 ExpiresOn: expiresOn,
69 })
70 if err != nil {
71 return nil, err
72 }
73
74 return &userAuthToken{model: uat, token: tkn}, nil
75}
76
77// serviceAuthToken implements AuthToken for tokens belonging to a service.
78type serviceAuthToken struct {

Callers

nothing calls this directly

Calls 5

NewRandomFunction · 0.92
SecretHashMethod · 0.80
AddMethod · 0.65
InsertUserAuthTokenMethod · 0.65
StringMethod · 0.65

Tested by

no test coverage detected