[Sitecore][Azure AD B2C] Azure AD B2C サインアップポリシー
サインアップポリシー
名前の通り、ユーザをサインアップします。
サインアップポリシーを作成については、サインアップ-ポリシーを作成するを参照にしてください。
📝学んだ事:😵え~、ユーザ名はアプリケーションの要求に含まれていないの?
私のIDプロバイダーの設定は下記の通りです。
アプリケーション要求(claim)にユーザ名が含まれていない。stackoverflowでみたところ、
ユーザ名はアプリケーション要求に含まれていないのようです。
ちょっとだけのコードが必要ですが、マイクロソフト社のOWINミドルウェアを使用すれば簡単にユーザ名の取得ができました。サンプルコードはこちら.
ユーザ名の取得のコードは上記のstackoverflowのリンクkに在ります。しかし、実際に動作
したサンプルコードを既存のソリューションへの統合する際に、OWINが参照している
いつくかのライブラリーが必要とされている.NETのフレームワークに満たせませんでした。
ですので、OWINを使うことを見通りとなった。😟
別の解決方法を見ていくうちに、Graph APIのコンソールアップを見つけました。これは
OWINと比べて参照しているライブラリーが少なく、既存のソリューションへの統合は
極めて簡単。
Azure AD B2c にてサインアップリスポンスにて、objectID をチェックすれば、
objectIDがアプリケーション要求に含まれますので、
objectIDを使用して、サンプルのコンソールアップにあるGetUserByObjectId()の
コードを流用すればいい簡単にユーザ名の取得ができました。✌