feat: carry suggested third-party profile through pending oauth
This commit is contained in:
@@ -91,6 +91,26 @@ func TestOIDCParseAndValidateIDToken(t *testing.T) {
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestOIDCParseUserInfoIncludesSuggestedProfile(t *testing.T) {
|
||||
cfg := config.OIDCConnectConfig{}
|
||||
|
||||
claims := oidcParseUserInfo(`{
|
||||
"sub":"subject-1",
|
||||
"preferred_username":"alice",
|
||||
"name":"Alice Example",
|
||||
"picture":"https://cdn.example/avatar.png",
|
||||
"email":"alice@example.com",
|
||||
"email_verified":true
|
||||
}`, cfg)
|
||||
|
||||
require.Equal(t, "subject-1", claims.Subject)
|
||||
require.Equal(t, "alice", claims.Username)
|
||||
require.Equal(t, "Alice Example", claims.DisplayName)
|
||||
require.Equal(t, "https://cdn.example/avatar.png", claims.AvatarURL)
|
||||
require.NotNil(t, claims.EmailVerified)
|
||||
require.True(t, *claims.EmailVerified)
|
||||
}
|
||||
|
||||
func buildRSAJWK(kid string, pub *rsa.PublicKey) oidcJWK {
|
||||
n := base64.RawURLEncoding.EncodeToString(pub.N.Bytes())
|
||||
e := base64.RawURLEncoding.EncodeToString(big.NewInt(int64(pub.E)).Bytes())
|
||||
|
||||
Reference in New Issue
Block a user