我已将b2c配置为客户端凭据流的授权服务器,我希望向令牌添加声明,以便可以使用策略将其发送到APIM中的后端服务。但我找不到向令牌添加此额外声明的方法,以便可以在APIM上使用它。注意:使用授权代码流是可能的,但是当使用客户端凭据时,声明不通过请求传递。有没有办法达到这个目标?
31moq8wy1#
你无法使用Azure AD client_credential flow进行声明自定义。我们将发布Azure AD B2C客户端凭据流,将来该凭据流将允许使用自定义策略(类似于授权代码流)进行声明自定义。
7xllpg7q2#
面对这个问题,我自己记录了达到这个目标的步骤。
因此,首先,按如下所述配置客户端凭据流:https://learn.microsoft.com/en-us/azure/active-directory-b2c/client-credentials-grant-flow?pivots=b2c-custom-policy这是非常直接的,直到(包括)步骤3。关于步骤3:注意这一行:替换为用户流或自定义策略的全名。**注意,所有类型的用户流和自定义策略都支持客户端凭据流。**你可以使用现有的任何用户流或自定义策略,也可以创建新的用户流或自定义策略,如注册或登录。它注意到所有用户流都支持client_credentials,但是,当以用户流为目标时,API连接器(通常可用于丰富令牌)将不会被调用。
client_credentials
与documentation一样,设置签名和加密密钥:
从入门包安装基本策略,另请参见github有几个类似的文件,但是LocalAccounts下的文件足以丰富JWT。请确保将租户名称替换为您的名称。将这些策略上载到自定义策略中。
现在可以上载ClientCredentialsFlow.xml策略。请确保用您的租户名称替换租户名称。
登录后,您将收到一个增强令牌,您可以相应地开始定制示例策略。
url = "https://<yourtenant>.b2clogin.com/<yourtenant>.onmicrosoft.com" + "/B2C_1A_DEMO_CLIENTCREDENTIALSFLOW/oauth2/v2.0/token" #the scope as described,typically it looks like this scope = "https://<yourtenant>.onmicrosoft.com/<resource server id>/.default" response = requests.post( url, data={'grant_type':'client_credentials', 'client_id':client, 'client_secret':secret, 'scope':scope}, headers = {'Content-Type': 'application/x-www-form-urlencoded'} )
2条答案
按热度按时间31moq8wy1#
你无法使用Azure AD client_credential flow进行声明自定义。我们将发布Azure AD B2C客户端凭据流,将来该凭据流将允许使用自定义策略(类似于授权代码流)进行声明自定义。
7xllpg7q2#
面对这个问题,我自己记录了达到这个目标的步骤。
1照常设置资源应用程序和客户端
因此,首先,按如下所述配置客户端凭据流:https://learn.microsoft.com/en-us/azure/active-directory-b2c/client-credentials-grant-flow?pivots=b2c-custom-policy
这是非常直接的,直到(包括)步骤3。关于步骤3:注意这一行:
替换为用户流或自定义策略的全名。**注意,所有类型的用户流和自定义策略都支持客户端凭据流。**你可以使用现有的任何用户流或自定义策略,也可以创建新的用户流或自定义策略,如注册或登录。
它注意到所有用户流都支持
client_credentials
,但是,当以用户流为目标时,API连接器(通常可用于丰富令牌)将不会被调用。2准备自定义策略
与documentation一样,设置签名和加密密钥:
创建签名密钥
创建加密密钥
上载基本策略
从入门包安装基本策略,另请参见github
有几个类似的文件,但是LocalAccounts下的文件足以丰富JWT。
请确保将租户名称替换为您的名称。
将这些策略上载到自定义策略中。
3上载客户端凭据流
现在可以上载ClientCredentialsFlow.xml策略。请确保用您的租户名称替换租户名称。
使用应用程序客户端ID和密码登录
登录后,您将收到一个增强令牌,您可以相应地开始定制示例策略。