diff --git a/RockWeb/Blocks/Security/Oidc/Authorize.ascx b/RockWeb/Blocks/Security/Oidc/Authorize.ascx index 6e61d1afe40..f0e73c1a742 100644 --- a/RockWeb/Blocks/Security/Oidc/Authorize.ascx +++ b/RockWeb/Blocks/Security/Oidc/Authorize.ascx @@ -8,7 +8,7 @@
-

Claude

+

Authorization

, is requesting access to your account. diff --git a/RockWeb/Blocks/Security/Oidc/Authorize.ascx.cs b/RockWeb/Blocks/Security/Oidc/Authorize.ascx.cs index 54e9efc0a15..13d4eefbdf3 100644 --- a/RockWeb/Blocks/Security/Oidc/Authorize.ascx.cs +++ b/RockWeb/Blocks/Security/Oidc/Authorize.ascx.cs @@ -421,6 +421,17 @@ private void AcceptAuthorization() return; } + // The "openid" scope not a traditional scope. It is used by the + // OpenID Connect provider to indicate that the client is + // requesting an id_token. Therefore it is safe to add it to the + // list of allowed scopes if it was requested without checking if + // the client is allowed to request it via the + // NarrowRequestedScopesToApprovedScopes() method. + if ( requestedScopes.Contains( "openid" ) ) + { + clientAllowedScopes.Add( "openid" ); + } + // Create a new ClaimsIdentity containing the claims that // will be used to create an id_token, a token or a code. var identity = RockIdentityHelper.GetRockClaimsIdentity( CurrentUser, clientAllowedClaims, authClient.ClientId );