我正在使用auth0作为单点登录的OIDC提供程序。
到目前为止,我尝试使用两种应用程序类型登录,一方面是本机应用程序类型,另一方面是机器对机器应用程序类型。
但是,当我登录时,我只收到一个非常简单id_token
,具有以下有效负载:
{
"https://example.com/roles": [
"user"
],
"iss": "https://my.idp.provider.com",
"sub": "oauth2|someconnection|samlp|somecompany|someusername",
"aud": "REMOVED",
"iat": 1547652649,
"exp": 1547688649
}
我想向此令牌添加一个group
声明。如何配置 Auth0 租户以添加"group": "admin"
作为声明?是否需要在身份验证客户端中启用特定范围才能接收groups
声明?
我已经在 auth0 中安装并配置了授权扩展,但这对我的令牌中的声明没有任何影响。我知道授权扩展不支持机器对机器的应用程序。因此,我添加了本机应用程序并尝试使用它登录,但这也没有返回任何其他声明。
配置授权扩展后,可以从规则向颁发的 JWT 令牌添加自定义声明。这里有一个示例规则可以完成这项工作:https://auth0.com/docs/extensions/authorization-extension/v2/rules#add-custom-claims-to-the-issued-token
您也可以使用 Hook: https://auth0.com/docs/api-auth/tutorials/client-credentials/customize-with-hooks 自定义客户端凭据令牌
编辑:OIDC 兼容应用程序要求您定义命名空间,因为角色和组等授权数据不是 OIDC 声明。