2017-12-01 6 views
1

私はアプリケーションに使用するためにディレクトリに保存するクレームが2つあります。これらはユーザーが編集することはできませんが、アプリケーションがトークンから読み取るために利用できます。Azure AD B2C内の拡張クレームを読む

BuiltInポリシーではクレームを取得することができますが、カスタムポリシーを使用してこれらのクレームを取得することはできませんでした。

「カスタムプロファイルの編集ポリシーでカスタム属性を作成して使用する」という記事のNext Stepsを読むと、Directoryから読み取るためにRPとTechnicalProfileにクレームを追加する必要があります。私はそれに応じてRPを更新し、同様にTPのことは、このような

<TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId"> 
<TechnicalProfile Id="AAD-UserReadUsingObjectId"> 
<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email"> 
<TechnicalProfile Id="AAD-UserReadUsingEmailAddress"> 

2つの拡張の主張を盗んために不足しているかもしれないものを把握することができませんようディレクトリから読み取ること。

答えて

2

あなたは、あなたがユーザーの旅のカスタムクレームを読んで、AzureのADグラフAPIを経由してそれらを作成している必要がありますと仮定:

1:基本方針に<ClaimType /> Sなどのカスタムクレームを追加します。

<ClaimType Id="extension_UserAttribute1"> 
    <DisplayName>User Attribute 1</DisplayName> 
    <DataType>string</DataType> 
</ClaimType> 
<ClaimType Id="extension_UserAttribute2"> 
    <DisplayName>User Attribute 2</DisplayName> 
    <DataType>string</DataType> 
</ClaimType> 

2:AzureのADのB2Cのディレクトリからカスタムクレームを読み取るために必要とされる「AAD-共通の」技術的なプロファイルにthe extensions appのためのアプリケーションとオブジェクト識別子を追加します。

<TechnicalProfile Id="AAD-Common"> 
    <DisplayName>Azure Active Directory</DisplayName> 
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
    <Metadata> 
    <Item Key="ApplicationObjectId">Insert the object identifier for the b2c-extensions-app application here</Item> 
    <Item Key="ClientId">Insert the application identifier for the b2c-extensions-app application here</Item> 
    </Metadata> 
    <CryptographicKeys> 
    <Key Id="issuer_secret" StorageReferenceId="TokenSigningKeyContainer" /> 
    </CryptographicKeys> 
    ... 
</TechnicalProfile> 

注:あなたは、両方のビルトインポリシーとカスタムポリシーのカスタムクレームを読みたいと思っている場合は、内蔵のB2C-拡張アプリのためのアプリケーションとオブジェクト識別子を使用する必要があります。 Azure Active Directory B2C: Creating and using custom attributes in a custom profile edit policyチュートリアルで提案されているカスタム拡張アプリケーションではなく、アプリケーションです。

3:

"AAD-UserReadUsingObjectId" ローカルアカウントのサインインおよびプロファイルの編集のため

のソーシャルアカウントの "AAD-UserReadUsingAlternativeSecurityId":次の技術的なプロファイルへ<OutputClaim /> Sなどのカスタムクレームを追加サインインしてプロファイル編集

"LocalAccountDiscoveryUsingEmailAddress" と "AAD-UserReadUsingEmailAddressは" ローカルアカウントのパスワードをリセット

<OutputClaims> 
    ... 
    <OutputClaim ClaimTypeReferenceId="extension_UserAttribute1" /> 
    <OutputClaim ClaimTypeReferenceId="extension_UserAttribute2" /> 
</OutputClaims> 

4:依拠当事者ポリシーでカスタムクレームを<OutputClaim />として発行します。

0

おかげでクリス...私は優秀な

+0

...私TrustExtensionsファイルを見直し、私のOBJIDはB2C-拡張アプリに不一致であることがわかった...私はそれを修正したら、それはすべてが働いた....ありがとう!、ジェイ、もしあなたが上記の答えが他の人を助けることができると信じるなら、あなたはそれに印を付けてください? –

関連する問題