我使用auth0作为OIDC提供程序进行单点登录。
到目前为止,我尝试使用两种应用程序类型登录,一方面是 native 应用程序类型,另一方面是 machine-to-machine 应用程序类型。 / p>
但是,当我登录时,我只会收到一个非常简单的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"
添加为声明?我是否需要在身份验证客户端中启用特定的 scope 来接收groups
声明?
我已经在auth0中安装并配置了 Authorization Extension ,但这对我的令牌中的声明没有任何影响。我知道授权扩展不支持机器对机器应用程序。因此,我添加了本机应用程序并尝试使用该应用程序登录,但这也没有返回任何其他声明。
答案 0 :(得分:1)
配置了Authorization扩展后,您可以将自定义声明添加到“规则”中已发布的JWT令牌中。这里有一个示例规则可以完成任务:https://auth0.com/docs/extensions/authorization-extension/v2/rules#add-custom-claims-to-the-issued-token
您还可以使用以下挂钩自定义“客户端凭据”令牌:https://auth0.com/docs/api-auth/tutorials/client-credentials/customize-with-hooks
编辑:OIDC合格应用程序要求您定义名称空间,因为诸如角色和组之类的授权数据不是OIDC声明。