この例https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-setup-aad-customに従って、Azure AD ディレクトリ ('AD') をフェデレートすることができました。 Azure AD B2C ディレクトリ ('B2C') を使用して、パブリック アプリケーションにソーシャルおよびセルフアサート サインアップを持たせることができます。このパブリック アプリケーションには、作業ユーザーも通常の作業 ID でサインインできます。これはうまく機能し、複雑なシナリオを解決してくれます。
B2C で保護されているアプリケーションでは、AD ユーザーの仕事のアイデンティティに関連するコンテンツを表示する必要があります (具体的には、仕事の役割に基づいて製品をフィルタリングする必要があります)。アプリにサインアップすると、ユーザーの新しい B2C ID (事実上、AD ID のプロキシ) が生成されます。
ユーザーの元の AD ID を新しい B2C ID にマッピングする必要があります。名や姓などの AD ユーザーの他のプロパティは既にマップされており、プロパティClaimsProvider
を介して、カスタム ポリシーの要素でここで行われているようです。PartnerClaimType
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="socialIdpUserId" PartnerClaimType="oid"/>
<OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid"/>
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
<OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
<OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="contosoAuthentication" />
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="AzureADContoso" />
</OutputClaims>
実際、探している ID がプロパティ ( oid
) にマップされているように見えますが、後でユーザーの B2C グラフをクエリすると、このoid
プロパティは返されません。
Object ID
では、作業用 AD ディレクトリのユーザーを、作成された新しい B2C ID のプロパティにマップするにはどうすればよいでしょうか?