MS Azure AD B2C作为SAML IDP无法正常工作

时间:2017-09-28 18:10:18

标签: azure-ad-b2c

背景

我有一个用户通过AD B2C注册/签名的应用程序。在应用程序中,有一个链接将重定向到另一个在SAML上运行的应用程序,因此希望MS Azure作为IDP工作并将SAML发送到第三个应用程序。

我们通过非图库应用程序在AAD(不是AD B2C)中实现了这一点,但在AD B2C中遇到了问题。

我们遵循了此文件https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/blob/master/Walkthroughs/RP-SAML.md 但是当我们点击URL然后它说'#34; AADB2C:发生了异常"。

基础文件 - https://www.dropbox.com/s/ro6arbs57c43el2/base.xml?dl=0

扩展程序文件 - https://www.dropbox.com/s/uqojtk432b3wny1/base_Extensions.xml?dl=0

SignInSaml文件 - https://www.dropbox.com/s/i950s4bwwagry5k/signinsaml.xml?dl=0

1 个答案:

答案 0 :(得分:0)

您可以做的最好的事情是首先使用OIDC并确认策略正在运行,然后覆盖使用SAML发布JWT令牌的步骤

使用SAML时,我有这种格式

基地 基础扩展(如果你想要它 - 我倾向于不) policy-OIDC(扩展基础) policy-SAML(扩展了OIDC)

在策略SAML中,我覆盖调用JWTIssuer的用户旅程编排步骤,然后调用我的SAML令牌创建者

这种方法的原因是B2C设计为与OIDC一起使用,您可以确认行程在OIDC中按预期工作然后切换到您的SAML

我也使用行车记录仪,我发现旧的B2C行车记录仪比app洞察力更好,但都跟踪相同的数据

在办公室检查我的SAML后,您遗漏了一些META数据,告诉SAML如何在您的政策中采取行动

      <Metadata>
    <Item Key="IdpInitiatedProfileEnabled">true</Item>
    <Item Key="RequestsSigned">false</Item>
    <Item Key="WantsSignedResponses">true</Item>
    <Item Key="ResponsesSigned">true</Item>
    <Item Key="AssertionsEncrypted">false</Item>
    <Item Key="WantsEncryptedAssertions">false</Item>
    <Item Key="PartnerEntity">https://my-calling-application/authservices</Item>
  </Metadata>
  <SubjectNamingInfo ClaimType="UserId"  />  

您的SubjectNamingInfo也需要      http://schemas.microsoft.com/identity/claims/userprincipalname

因为这是您在基本政策中定义的SAAML名称