moved auth into middleware
This commit is contained in:
@@ -44,18 +44,19 @@ type (
|
||||
|
||||
// AccessTokenClaims is the claims Auth0 provides in access tokens
|
||||
AccessTokenClaims struct {
|
||||
Audience string `json:"aud"`
|
||||
Audience string `json:"aud"` // TODO: fill in from db
|
||||
Expires int64 `json:"exp"`
|
||||
Expiration time.Time `json:"-"` // parsed Expires
|
||||
FamilyName string `json:"family_name"`
|
||||
GivenName string `json:"given_name"`
|
||||
IssuedAt int64 `json:"iat"`
|
||||
Issuer string `json:"iss"`
|
||||
IssuedAt int64 `json:"iat"` // TODO: fill in from db
|
||||
Issuer string `json:"iss"` // TODO: fill in from db
|
||||
Name string `json:"name"`
|
||||
Nickname string `json:"nickname"`
|
||||
Picture string `json:"picture"`
|
||||
SessionID string `json:"sid"`
|
||||
Subject string `json:"sub"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
SessionID string `json:"sid"` // TODO: fill in from db
|
||||
Subject string `json:"sub"` // TODO: fill in from db
|
||||
UpdatedAt time.Time `json:"updated_at"` // TODO: fill in from db
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ func (a *Authenticator) DeleteOAuthTokens(ctx context.Context, accessToken strin
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *Authenticator) GetAccessTokenClaimsAndExpiration(ctx context.Context, accessToken string) (claims AccessTokenClaims, expiration time.Time, err error) {
|
||||
func (a *Authenticator) GetAccessTokenClaimsAndExpiration(ctx context.Context, accessToken string) (claims AccessTokenClaims, err error) {
|
||||
rows, err := a.db.Query(
|
||||
ctx,
|
||||
`
|
||||
@@ -119,7 +119,7 @@ func (a *Authenticator) GetAccessTokenClaimsAndExpiration(ctx context.Context, a
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return AccessTokenClaims{}, time.Time{}, fmt.Errorf("failed to perform query: %w", err)
|
||||
return AccessTokenClaims{}, fmt.Errorf("failed to perform query: %w", err)
|
||||
}
|
||||
|
||||
type Row struct {
|
||||
@@ -135,11 +135,13 @@ func (a *Authenticator) GetAccessTokenClaimsAndExpiration(ctx context.Context, a
|
||||
r, err := pgx.CollectExactlyOneRow(rows, pgx.RowToStructByNameLax[Row])
|
||||
if err != nil {
|
||||
if errors.Is(err, pgx.ErrNoRows) {
|
||||
return AccessTokenClaims{}, time.Time{}, consts.ErrNotFound
|
||||
return AccessTokenClaims{}, consts.ErrNotFound
|
||||
}
|
||||
return AccessTokenClaims{}, time.Time{}, fmt.Errorf("failed to scan row: %w", err)
|
||||
return AccessTokenClaims{}, fmt.Errorf("failed to scan row: %w", err)
|
||||
}
|
||||
|
||||
claims.Expires = r.Expiry.Unix()
|
||||
claims.Expiration = r.Expiry
|
||||
claims.Name = r.Id_token_custom_claims_name
|
||||
claims.Picture = r.Id_token_custom_claims_picture
|
||||
claims.Nickname = r.Id_token_custom_claims_nickname
|
||||
@@ -147,7 +149,7 @@ func (a *Authenticator) GetAccessTokenClaimsAndExpiration(ctx context.Context, a
|
||||
claims.FamilyName = r.Id_token_custom_claims_family_name
|
||||
claims.UpdatedAt = r.Id_token_custom_claims_updated_at
|
||||
|
||||
return claims, r.Expiry, nil
|
||||
return claims, nil
|
||||
}
|
||||
|
||||
func (a *Authenticator) getRefreshTokenForAccessToken(ctx context.Context, accessToken string) (refreshToken, tokenType string, err error) {
|
||||
|
||||
Reference in New Issue
Block a user