fix: id token parsing
This commit is contained in:
parent
341d4fbae5
commit
f4691fca1f
|
@ -17,6 +17,7 @@ import (
|
||||||
|
|
||||||
"github.com/authorizerdev/authorizer/server/constants"
|
"github.com/authorizerdev/authorizer/server/constants"
|
||||||
"github.com/authorizerdev/authorizer/server/cookie"
|
"github.com/authorizerdev/authorizer/server/cookie"
|
||||||
|
"github.com/authorizerdev/authorizer/server/crypto"
|
||||||
"github.com/authorizerdev/authorizer/server/db"
|
"github.com/authorizerdev/authorizer/server/db"
|
||||||
"github.com/authorizerdev/authorizer/server/db/models"
|
"github.com/authorizerdev/authorizer/server/db/models"
|
||||||
"github.com/authorizerdev/authorizer/server/memorystore"
|
"github.com/authorizerdev/authorizer/server/memorystore"
|
||||||
|
@ -472,14 +473,23 @@ func processAppleUserInfo(code string) (models.User, error) {
|
||||||
|
|
||||||
fmt.Println("=> rawIDToken", rawIDToken)
|
fmt.Println("=> rawIDToken", rawIDToken)
|
||||||
|
|
||||||
// Parse and verify ID Token payload.
|
tokenSplit := strings.Split(rawIDToken, ".")
|
||||||
claims, err := token.ParseJWTToken(rawIDToken)
|
claimsData := tokenSplit[1]
|
||||||
|
decodedClaimsData, err := crypto.DecryptB64(claimsData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug("Failed to parse apple id token: ", err)
|
log.Debug("Failed to decrypt claims data: ", err)
|
||||||
return user, err
|
return user, fmt.Errorf("failed to decrypt claims data: %s", err.Error())
|
||||||
}
|
}
|
||||||
fmt.Println("claims:", claims)
|
fmt.Println("=> decoded claims data", decodedClaimsData)
|
||||||
email := claims["email"].(string)
|
|
||||||
|
claims := map[string]string{}
|
||||||
|
err = json.Unmarshal([]byte(decodedClaimsData), &claims)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("Failed to unmarshal claims data: ", err)
|
||||||
|
return user, fmt.Errorf("failed to unmarshal claims data: %s", err.Error())
|
||||||
|
}
|
||||||
|
fmt.Println("=> claims map:", claims)
|
||||||
|
email := claims["email"]
|
||||||
user.Email = email
|
user.Email = email
|
||||||
|
|
||||||
return user, err
|
return user, err
|
||||||
|
|
Loading…
Reference in New Issue
Block a user