私のAzure AD B2Cユーザーのためにいくつかの余分なデータを持たせるために、ユーザーオブジェクト(または拡張プロパティ同じことを考えてみましょう)。だから私はこれを見つけたdocumentation。これは、ユーザーのカスタム属性を追加する正しい方法ですか?Azure AD B2C - プログラムでカスタム属性を追加する方法(拡張プロパティ)
0
A
答えて
0
属性を追加する正しい方法は、 'portal.azure.com'管理ポータルです。
これらの属性がすべてのユーザーに実際に利用可能になる前に、ポリシーを使用してユーザーを作成する必要があります。
もう1つの考慮すべき点は、各環境で拡張名が異なるため、GraphApiから取得したJSONユーザーを解析するためのカスタムロジックが必要であり、属性がで終わることを確認しますその属性を与えた名前。
例:
//Java, sorry
private YourCustomGraphApiUser populateCustomProperty(JsonNode jsonUser) throws JsonProcessingException{
YourCustomGraphApiUser azureUser = mapper.treeToValue(jsonUser, YourCustomGraphApiUser.class);
String[] customAttributeNames = new String()["one","two"]; //Replace this with some values from some injected properties
for(String attributeName : customAttributeNames){
JsonNode customAttribute = jsonUser.get(attributeName);
if(customAttribute != null){
azureUser.set(attributeName, customAttribute.asText());//Assuming custom attributes are stored in a map-like structure in YourCustomGraphApiUser.
}
else{
throw new NotFoundException("Error getting the name for custom attribute "+attributeName, e);
// OR you could ignore and just log an error. Whatever.
}
}
return azureUser;
}
1
あなたはグラフAPIを使用して、所望のApplicationオブジェクトにextensionPropertyを作成します。
サンプルJSON要求:
POST https://graph.windows.net/contoso.onmicrosoft.com/applications/269fc2f7-6420-4ea4-be90-9e1f93a87a64/extensionProperties?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA
Content-Type: application/json
Host: graph.windows.net
Content-Length: 104
{
"name": "skypeId",
"dataType": "String",
"targetObjects": [
"User"
]
}
操作が成功した場合、それがターゲットに書き込む値のために使用することができる完全修飾拡張プロパティ名と共にHTTP 201作成されたステータスコードを返します。タイプ。 参照:azure-ad-graph-api-directory-schema-extensions
関連する問題
- 1. Azure AD B2C編集属性
- 2. Azure AD B2Cにb2c-extensions-appを追加する方法
- 3. PowerShellで作成したAzure AD Graphアプリケーションにカスタム属性を追加する
- 4. プロパティを追加して属性を拡張する
- 5. Azure AD vs Azure AD B2C vs Azure AD B2B
- 6. Azure AD B2CはSignUpポリシーのカスタム属性を事前に設定します
- 7. Azure AD B2Cのカスタムポリシー
- 8. Azure AD B2C内の拡張クレームを読む
- 9. プロパティ/属性を追加する方法/ ???
- 10. Azure AD B2C
- 11. AzureのB2C ADリダイレクト
- 12. Azure AD B2C
- 13. Azure AD B2C b2c-extensions-app
- 14. Azure AD B2Cカスタムポリシー
- 15. サービスファブリック - Azure AD B2C
- 16. Azure AD B2Cサインインコルドバ/ Ionicアプリケーション
- 17. Azure AD B2C Angular 2
- 18. Azure ADの角度サポートB2C
- 19. Azure AD B2C - Azure AD Graph APIの使用
- 20. Azure AD B2Cカスタマイズテンプレートのエラー
- 21. カスタムWCFクライアントエンドポイントビヘイビア拡張をプログラムでグローバルに追加する
- 22. Azure AD B2C - カスタムポリシーで「電子メール」クレーム
- 23. mvc ValidationAttribute拡張子を使用してフィールドにカスタム属性を追加する
- 24. Azure AD B2CとAzure ADのプロファイル編集
- 25. Azure AD B2C Reply URL
- 26. Azure AD B2C with Graph APIでユーザを作成する
- 27. Azure AD B2Cのカスタムポリシー - Javascript
- 28. Azure AD B2C - 役割管理
- 29. ADグラフAPIを使用したB2Cカスタム属性文字列コレクションの更新
- 30. Azure AD B2Cカスタムポリシーのid_tokenにクレームを追加
カスタム属性をプログラムで追加できないのはなぜですか?私はMyOwnUserを定義するライブラリを持っています。そのユーザーのために私はカスタム属性が必要です。なぜ私は異なるディレクトリのたびにそれらをポータルに追加しますか? – alvipeo
@alvipeoそれは素晴らしい質問です!私は何度も自分自身にそれを尋ねました。これらの属性値を使用できるようになる前に、それらの属性値を使用してアカウントを手動で作成しなければならないということも同じように不満です。私がプログラマティックな創造に没頭したのであれば、私は青空のPowershellのB2Cモジュールをもっと見るかもしれません。私はそれをやったことはありませんが、おそらく、あなたは各環境を設定するスクリプトを作成することができます。私はまだカスタムポリシーで作業していませんが、より多くの初期作業が必要ですが、より構成可能(XMLやもの)であることを理解しています。 – Pytry
私はコードで拡張プロパティを作成するクラスを作成しました。ユーザーからの値を設定/読み取ることで終了する必要があります – alvipeo