@@ -17,6 +17,7 @@ import (
1717
1818 "github.com/authorizerdev/authorizer/server/constants"
1919 "github.com/authorizerdev/authorizer/server/cookie"
20+ "github.com/authorizerdev/authorizer/server/crypto"
2021 "github.com/authorizerdev/authorizer/server/db"
2122 "github.com/authorizerdev/authorizer/server/db/models"
2223 "github.com/authorizerdev/authorizer/server/memorystore"
@@ -472,14 +473,23 @@ func processAppleUserInfo(code string) (models.User, error) {
472473
473474 fmt .Println ("=> rawIDToken" , rawIDToken )
474475
475- // Parse and verify ID Token payload.
476- claims , err := token .ParseJWTToken (rawIDToken )
476+ tokenSplit := strings .Split (rawIDToken , "." )
477+ claimsData := tokenSplit [1 ]
478+ decodedClaimsData , err := crypto .DecryptB64 (claimsData )
477479 if err != nil {
478- log .Debug ("Failed to parse apple id token: " , err )
479- return user , err
480+ log .Debug ("Failed to decrypt claims data: " , err )
481+ return user , fmt .Errorf ("failed to decrypt claims data: %s" , err .Error ())
482+ }
483+ fmt .Println ("=> decoded claims data" , decodedClaimsData )
484+
485+ claims := map [string ]string {}
486+ err = json .Unmarshal ([]byte (decodedClaimsData ), & claims )
487+ if err != nil {
488+ log .Debug ("Failed to unmarshal claims data: " , err )
489+ return user , fmt .Errorf ("failed to unmarshal claims data: %s" , err .Error ())
480490 }
481- fmt .Println ("claims:" , claims )
482- email := claims ["email" ].( string )
491+ fmt .Println ("=> claims map :" , claims )
492+ email := claims ["email" ]
483493 user .Email = email
484494
485495 return user , err
0 commit comments