为 Azure AD B2C 自定义策略调用 New-CpimCertificate 时出现问题

Issue when calling New-CpimCertificate for Azure AD B2C custom policy

我正在尝试使用 Azure AD B2C 作为 SAML 身份提供者。

我知道 web 上的几个位置表明 B2C 不(还)支持 SAML 作为身份提供者(也例如对这个问题的回答:)。

但是,当我阅读 "Azure AD B2C Custom Policies" docs 上的内置策略和自定义策略之间的比较时,我发现现在已经支持 SAML 作为身份提供者。

另外,我发现这个 GitHub 遍历:https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/blob/master/Walkthroughs/RP-SAML.md

在那之后,我在执行 New-CpimCertificate.

时第一部分 "Create the SAML Token Issuer" 的步骤 5 "Upload Certs" 遇到了问题

我可以成功导入模块ExploreAdmin.dll。但是在调用 New-CpimCertificate 时提供我的凭据,我在控制台上收到此错误:

New-CpimCertificate : Unauthorized.
Access to this Api requires feature: 'Advanced' for the tenant: '<myazureb2ctenant>.onmicrosoft.com'.

任何帮助、想法、评论...都非常欢迎!

Azure AD B2C 仍未正式支持(即使在预览版中)connecting with apps via SAML(也称为 SAML 身份提供者)。

它只支持connecting to other identity providers via SAML(也就是SAML中继方)。

您遇到的 GitHub 演练是 Azure AD B2C 自定义策略预览版正式发布之前的旧演练。它讨论了未包含在预览范围内的功能,例如作为 SAML IdP 的 B2C。它还引用了不再适用的工具(那些 PowerShell 脚本)和步骤。

"Azure AD B2C Custom Policies" doc 的身份提供者部分提到 SAML 是指支持 B2C 作为连接到 SAML 身份提供者的中继方,而不是相反(B2C 是 SAML 身份提供者)本身)。

综上所述,您可以使您的方案正常工作,但要清楚地了解它不受支持。

您可以使用您引用的 GitHub 文档,将涉及 ExploreAdmin 和 New-CpimCertificate 的步骤替换为允许您通过门户上传证书的 these instructions

  1. 转到您的 Azure AD B2C 租户。单击 设置 > 身份体验框架 > 策略密钥
  2. 点击+添加,然后:
    1. 单击选项 > 上传
    2. 输入 名称(例如,YourAppNameSamlCert)。前缀 B2C_1A_ 会自动添加到您的密钥名称中。
    3. 到select你的证书,select上传文件控制
    4. 输入证书的密码。
  3. 单击创建
  4. 确认您已创建密钥(例如,B2C_1A_YourAppNameSamlCert)。