2017-02-14 15 views
0

AADSTS90009の主な理由は何ですか?この記事で

AAD token: Why aud sometimes shows app id, sometimes it's the app url?

私はAADトークン内のAUDフィールドが時にはアプリケーションID、アプリケーションのURLである理由を学びます。彼らはあなたがトークンを要求するときにリソースとして置くものに依存しているようです。

しかし、app url(SPAウェブサイトのAADアプリURL)を使用してSPAウェブサイトのAADトークンをリクエストしている間に、AADエラー-AADSTS90009が返されます。

AADSTS90009:アプリケーション ''が自身のトークンを要求しています。このシナリオは、リソースがGUIDベースのアプリケーション識別子を使用して指定されている場合にのみサポートされます。

関連記事はこちらを参照してください。

OAuth 2.0 and Azure Active Directory - error AADSTS90009

私は好奇心が強い、このエラーの背後にある主な理由は何ですか?

なぜアプリケーションのURLをリソースIDとしてサポートできないのですか?

+0

あなた自身のためにアクセストークンを要求することは意味がありません。通常は、いくつかのAPIアプリケーションのトークンを要求したいと思うでしょう。 – juunas

+0

私は同意しません。 WebサイトにユーザーIDが必要な場合は、ユーザーを表すAADのトークンが必要です。他のAPIを呼び出す必要はありません。それが理にかなっていない場合は、app urlをapp idに置き換えることによってトークンを取得できるのはなぜですか? –

+0

これはidトークンです。暗黙のグラントフローを有効にすることでそれを得ることができます。しかし、このようにしたいのであれば、アプリID URIの代わりにリソースのクライアントIDを指定するだけでよいでしょう:) – juunas

答えて

1

あなたがAADを活用していて、AUD請求が含まれているトークンを取得した場合:

  • ウリを - それはあなたがaccess_tokenはを扱っていることを意味し、ウリ は、サービスプリンシパル名を表します(ユニークな「読み取りを識別子)を使用して、クライアントアプリケーションがアクセスしたいリソースアプリケーションの識別子を取得します。
  • guid - これはあなたがid_tokenを扱っていることを意味し、値はトークンを取得したそのアプリケーションのObjectIdに対応します。
+0

私は私の答えを拡張する必要があります:リソースアプリがMicrosoft First Partyアプリケーションの場合、 'aud'クレームの値は、access_tokenでもGuidになる可能性がありますが、通常のアプリケーションを扱う場合、GuidはAppのIdentifierUri 。ただし、Azureポータルを使用していてAzure AD PowerShellコマンドレットを使用して設定できる場合は、Uri以外の値を設定することはできません。 – user7567234

関連する問題