0

私たちは現在Azureアクセスコントロールサービス(***。accesscontrol.windows.net)を使用して、個人的に管理されたMicrosoftアカウント(IDプロバイダ)を持つ顧客が顧客セルフサービスポータル(依頼者アプリケーション)にサインインすることを許可しています。 Web APIサービスを利用したAngularアプリです。私たちのアクセスコントロールサービスでは、現在、Windows Live IDから信頼するパーティAPIにnameidentifier http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierのクレームを渡しています。アプリケーションIDは、そのトークンとアプリケーションのIDを照合します。Azure AD v2.0エンドポイントは、同じMicrosoftアカウントのアクセス制御サービスと同じ名前識別子を使用しますか?

Azure AD v2.0 serviceでエンタープライズアカウントとパーソナルアカウントの両方をサポートする予定ですが、既存のユーザーを新しいシステムに移行する方法を理解していません。コード例では、OWIN middlewareがユーザーのIDプロバイダからNameIdentifier claimを返しますが、そのIDプロバイダが同じMicrosoftアカウント(別名Windows Live ID)である場合、これは現在Access Control Servicesのパススルーで受信しているのと同じNameIdentifierになります?

この移行がどのように機能するのかを明確にするヘルプやドキュメントは高く評価されます。

答えて

0

ACSから出力される名前識別子がランダムに生成された値である場合、その値はACS/RP/Userに固有のものなので、ちょっとしたことです。実際のLive IDが返ってきたらAzure ADユーザーが同じ電子メールアドレスを持っている場合にのみ一致します。

このような状況の処理方法を説明するドキュメントがありません。私のお勧めは、同じセッション内の各ソースからワンタイム認証を要求し、2つの結果と結婚することです。それは基本的に

  1. はアズールAD
  2. あなたのアプリへの認証を意味します:ねえ、あなたはライブIDを関連付けたいん、任意のユーザの詳細を持っていないのですか?その後
  3. 認証ライブID
  4. のAzure AD

に関連付けるライブID、彼らはあなたが2間のリンクを持って、将来的にアカウントのいずれかでログインしたい場合。

+0

これは正しいです。ただし、試した後、有効な名前識別子の主張にはこれらのユーザーのメインのメールアドレスが含まれていることがわかりました。しかし、それが100%時間を費やすには、関連フローが必要であるということは間違いありません。 – user483679

関連する問題