在Azure AD B2C自定义策略中,IdentityExperienceFrameworkApps如何在没有秘密的情况下连接到AD

时间:2018-10-31 23:28:55

标签: azure-ad-b2c

也已发布到https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/issues/29

B2C Custom Policy Starterpack中,文件str带有:

LocalAccounts/TrustFrameworkExtensions.xml

有人可以解释为什么要使这些自定义策略生效需要两个应用程序吗? IEF如何使用它们中的每一个?

此外,在这些文件中,我看不到任何秘密或应用程序密钥传递给IEF。 IEF如何仅使用应用程序ID连接到AAD?

1 个答案:

答案 0 :(得分:1)

The login-NonInteractive technical profile通过使用资源所有者密码凭据授予类型将访问令牌请求发送到您的Azure AD目录来对本地帐户进行身份验证:

<Metadata>
  <Item Key="authorization_endpoint">https://login.microsoftonline.com/{tenant}/oauth2/token</Item>
</Metadata>
<InputClaims>
  <InputClaim ClaimTypeReferenceId="grant_type" DefaultValue="password" />
  <InputClaim ClaimTypeReferenceId="client_id" DefaultValue="ProxyIdentityExperienceFrameworkAppID" />
  <InputClaim ClaimTypeReferenceId="resource_id" PartnerClaimType="resource" DefaultValue="IdentityExperienceFrameworkAppID" />
  <InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="username" Required="true" />
  <InputClaim ClaimTypeReferenceId="password" Required="true" />
  <InputClaim ClaimTypeReferenceId="scope" DefaultValue="openid" />
  <InputClaim ClaimTypeReferenceId="nca" PartnerClaimType="nca" DefaultValue="1" />
</InputClaims>

就像对Azure AD目录的所有访问令牌请求一样,此访问请求必须包含客户端应用程序(即 ProxyIdentityExperienceFramework )应用程序的标识符和资源应用程序(即 IdentityExperienceFramework 应用程序。)

您不必为客户端应用程序指定机密,因为它是registered as a native application