2017-06-30 1 views
1

SPAクライアントでadal.jsを使用してログインし、Webサービスのアクセストークンを取得しています。新しいアクセス許可でアプリ登録を更新しています。これにより、ユーザーは再度同意する必要があります。どのようなAADエラーコードが同意を求められるべきかを示していますか?

私は、AADのエラーコードのセットが、他のエラー処理アクションとは異なり、同意が求められるべきであることを示しているのでしょうか?

私の驚いたことに、私はGoogleにAADが返す可能性のあるすべてのエラーコードを一覧表示することができませんでした。この情報は公開されていますか?パターンのエラーコードAADSTSxxxxx(つまりAADSTS65001など)を指していますが、これはoauth2/authorizeエンドポイントから返される可能性があります。

答えて

2

AADSTS65001は、エンドユーザーが再度同意する必要があることを示す主な同意エラーです。私は特定のAADSTSxxxxxxエラーを探して、そのエラーに遭遇してあなたのアプリケーションの分岐を避けることをお勧めします。時々これらが変化し、同様の「同意必要」メッセージを示す新しいエラーが将来発生する可能性があります。

シングルテナントアプリを構築する場合は、アプリに必要なリソースを更新するときに管理者同意を行うことをお勧めします。これを行うには、Azure PortalでGrant Permissionsをクリックするか、prompt=admin_consentでAuthリクエストを送信し、管理者アカウントでサインインします。

マルチテナントの場合、アプリによってはいくつかのオプションがあります。 1つの選択肢は、このような管理者の同意の経験を構築して、管理者の同意リクエストを開始した後、管理者の同意を求めるボタンを押すことです。

adal.js私は新しいインタラクティブなトークンコールを取得することは、開発プロセスを少し楽にすると信じています。これにより、UIを表示することができるacquireTokenコールでリソースを指定できるようになり、必要に応じて同意を求めることになります。これが利用可能になると、アプリはサイレントacquireTokenリクエストを試みることができ、失敗するとこのインタラクティブバージョンを試みます。このリリースは、Githubで気をつけてください。

+0

私たちのアプリはシングルテナントですが、私のチームは管理者特権を持っていないので、すべての人に許可を与えます。あなたの最初の段落について明確にするために、あなたは 'AADSTS65001'の検出を推奨していると思いますが、他の特定のエラーコードはありませんか?しかし、あなたはまた、エラーコードが変わるかもしれないと述べています。 「AADSTS65001」の意味を変えないようにするにはどうすればよいですか?文が真であれば、エラーコードは信頼できないようです。明確にすることはできますか?ありがとう! –

+0

申し訳ありませんが不明な場合は、AADSTSエラーコードをキャッチしてロジックを分岐することはお勧めしません。私は一般的な理解のためのこの特定のコードの意味を記述しようとしていました。 –

+0

もう少し詳細を追加します。管理者以外の人がアプリケーションを作成した場合は、 'login()'呼び出しで必要なすべてのリソースに同意します。管理者がアプリを登録しても、管理者の同意を得ることはできません。 –

関連する問題