問題タブ [microsoft-identity-platform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
624 参照

asp.net-core - アカウントの切り替えプロンプトを許可する

私は Azure AD の認証と承認の世界にまったく慣れていません。

内部 Web アプリの認証用の POC コードを書いています。Web アプリのユーザーはマシンを共有しており、Windows にログインしている AD アカウントは「マシン」アカウントです。

現在の「認証」プロセスでは、ユーザーは ID バッジの裏にあるバーコードをスキャンでき、「資格情報」の DB ルックアップが行われます。

この統合の一部を維持したいと考えていますが、Windows Identity Platform (開発者向けの以前の Azure AD) も使用したいと考えています。

アプリを操作する前にバッジをスキャンするようにユーザーに促す方法を探しています。スキャンされたバッジが現在ログインしているユーザーが保持しているバッジではない場合は、「アカウントの切り替え」エクスペリエンスを求めるプロンプトが表示されます。そこから、ユーザーは既にサインインしている場合は自分のアカウントを選択でき、自分のアカウントがリストに表示されていない場合はサインインできます。

この「アカウントの切り替え」エクスペリエンスを促すにはどうすればよいですか?

(Azure Protal の [ディレクトリの変更] メニューに表示されるものと同様) ここに画像の説明を入力

(またはサインイン時の「アカウントを選択」プロンプト)

0 投票する
2 に答える
197 参照

azure - 同意ステップが必要な 2 番目の API のアクセス トークンをリクエストしています

現在、さまざまな API 呼び出しを使用してReact SPA を開発しています。UX APIがエンドポイントから要求しているアクセストークンを使用して、バックグラウンドで他のAPIのさまざまな呼び出しを処理するユーザーエクスペリエンスAPIを持つことになりました。アプリケーションは、記事「Microsoft ID プラットフォームと OAuth 2.0 On-Behalf-Of フロー」で説明されているOBO (代理) フローを使用しています。oauth2/v2.0/token

Azureでホストされている私の Web アプリケーションには、次の単純化されたアーキテクチャがあります。

建築

コードと問題:

したがって、Azure Function v2.0であるUX APIでは、前述の Microsoft ドキュメントで説明されている手順に基づいて、他のData 2 APIの適切なアクセス トークンを取得しようとしています。上記のアーキテクチャを参照してください。

シナリオの説明:

  1. まずユーザーがアプリケーションを開き、UX APIの承認に同意する必要があります。
  2. 次に、ログインに成功すると、 UX APIの呼び出しに使用できるアクセス トークンが到着します。
  3. Data 2 APIのアクセス トークンを要求するUX APIでは、以下のコード実装を参照してください。
  4. ユーザーがData 2 APIの承認について同意する必要がある場所に応答が到着します。

正常に動作しているように見えるコード実装の下を参照してください。

バックグラウンドで次の例外をスローします。

AADSTS65001: ユーザーまたは管理者は、ID'<app-client-id>'という名前のアプリケーションの使用に同意していません'<app-name>'。このユーザーとリソースの対話型承認要求を送信します。

質問:

もちろん、ここで説明されている同様の問題をStackOverflowで説明していましたが、この問題はそれらとは異なると思います。彼らは 1 つのレイヤーのシナリオについて話しているだけで、エラー メッセージの意味を明確に説明しています。

だから私の質問は、シナリオにどのように対処すればよいですか? 以下の私の推測は間違っているかもしれません:

  1. 有効なアクセス トークンがUX APIから取得されている場合、それ以上の同意は必要ないアプリの構成で何らかの方法で処理する必要はありませんか?
  2. 対話ウィンドウをユーザーに送り返し、データ 2 APIの承認について同意します。エンド ユーザーにとって優れた UX にはなりません。
  3. どういうわけか、承認フロー全体を代理から変更しますか?

よくわかりません。助けていただければ幸いです。