为 Azure AD B2C 自定义策略调用 New-CpimCertificate 时出现问题
Posted
技术标签:
【中文标题】为 Azure AD B2C 自定义策略调用 New-CpimCertificate 时出现问题【英文标题】:Issue when calling New-CpimCertificate for Azure AD B2C custom policy 【发布时间】:2018-01-18 15:30:18 【问题描述】:我正在尝试使用 Azure AD B2C 作为 SAML 身份提供程序。
我知道网络上的几个位置表明 B2C 不(尚)支持将 SAML 作为身份提供者(例如,对此问题的回答:Can I integrate a SAML application with Azure AD B2C?)。
但是,当我阅读 "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 步“上传证书”中遇到了问题。
我可以成功导入模块 ExploreAdmin.dll。但是在调用 New-CpimCertificate
时提供我的凭据,我在控制台上收到此错误:
New-CpimCertificate : Unauthorized.
Access to this Api requires feature: 'Advanced' for the tenant: '<myazureb2ctenant>.onmicrosoft.com'.
非常欢迎任何帮助、想法、cmets...!
【问题讨论】:
【参考方案1】: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:
-
转到您的 Azure AD B2C 租户。点击设置 > 身份体验框架 > 策略键。
点击+添加,然后:
-
点击选项>上传。
输入一个名称(例如,YourAppNameSamlCert)。 B2C_1A_ 前缀会自动添加到您的密钥名称中。
要选择您的证书,请选择上传文件控制。
输入证书的密码。
【讨论】:
非常感谢 Saca 的明确回答!我会按照你的指示试一试,谢谢。以上是关于为 Azure AD B2C 自定义策略调用 New-CpimCertificate 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
Azure AD B2C 自定义策略 - Javascript
Azure AD B2C 自定义登录策略显示 SignUpSignIn
Azure AD B2C - 自定义策略中的“电子邮件”声明