5

私はAzure Active Directory上でWebApiに対して認証を試みるためにOAuth 2.0プロセスでpostmanを使用しています。私は基本的なValuesControllerを使ってデフォルトプロジェクトを実行していますが、認証と承認を取得しようとしています。Azure Active Directory - どのログが利用可能ですか?

私は郵便配達員をセットアップするのにthis videoを追ってきました。私が知る限り、説明したようにアクティブなディレクトリに新しいアプリケーションを設定しました。

トークン交換が機能しています。許可ベアラ{トークン}が正しく送信されています。ここで、例えばトークンは、次のとおり

{ベアラeyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL2J1Y2tldHMub25taWNyb3NvZnQuY29tL2J1Y2tldHMtcmVzdC1hcGkyMDE2MDkwMzEwNDAzMSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzIwYmI2ZmEwLTU0OTItNDk0My05MjkwLWRiMWJkMTU3YjFkMS8iLCJpYXQiOjE0NzM5MTg3MDAsIm5iZiI6MTQ3MzkxODcwMCwiZXhwIjoxNDczOTIyNjAwLCJhY3IiOiIxIiwiYW1yIjpbInB3ZCJdLCJhcHBpZCI6IjlkZWVmMWFlLWU0MmYtNDg4ZC04MmY3LWUwMWRjYzNkMzE5NyIsImFwcGlkYWNyIjoiMSIsImZhbWlseV9uYW1lIjoiSWppZGFraW5ybyIsImdpdmVuX25hbWUiOiJBeW8iLCJpcGFkZHIiOiI3MC4xNzMuNDAuMjIiLCJuYW1lIjoiQWRtaW4iLCJvaWQiOiJmMTljY2Q5ZC1iMDZhLTQ0MGUtYmE3Ni05NWRjNGE4NDY3ZjEiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJMMHkzeUVwRGdRMHV2MG0wZWNKcFFIeVpZNHkzYTk3UUpnNGl6WlpzZmNVIiwidGlkIjoiMjBiYjZmYTAtNTQ5Mi00OTQzLTkyOTAtZGIxYmQxNTdiMWQxIiw idW5pcXVlX25hbWUiOiJhZG1pbkBidWNrZXRzLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluQGJ1Y2tldHMub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIn0.NXpvslBXOpRNkmWQqj7XqVzloS3KoeSqPIlo-yUPGYkZ4bHPrAH6yD4sxMYz-19VIPFRDUMP-5h5hmaMKmuykjNUltz6wejQT9f4IeV6i7VtP3BlkfASZeAdKAiSjKh6ydV8PuJjV2HHh2WvxIKC3QQXzROwWAdeXLcgMTiKSBMULzFV8BsecgtI86_L2OISgbQZ2LgF137EPJoG7C4L1IO-10T1QIVl-Emy6AS0VKVxdzjCgiT-DFtccxME6n1CruoDy6mTKztcAkiFR1IlgY6Fvj-Y_goMQyxA5sCRebWnOQ5jeUKv4KNyNWOLJU_RiZYe0kj4IT3KDc9jjtHykg}

しかし、私は成功したトークンを取得し、私はVSデバッガをステップ実行するとき、私はトークンが入ってくる見ていても、許可され失敗する。次の応答が返されます。

{"Message":"Authorization has been denied for this request."} 

問題はサーバー側にあるようです。 Trueを返すようにIsAuthorizedをオーバーライドすると、動作します。

Azureでは、両方のアプリケーションが同じディレクトリにあり、委任権限が与えられています。

正確な拒否理由を確認できるログはありますか?そこから私はおそらく何が起こっているのか把握することができます。

私は、トレースをオンにしました:

// Web API configuration and services 
var traceWriter = config.EnableSystemDiagnosticsTracing(); 
traceWriter.IsVerbose = true; 
traceWriter.MinimumLevel = TraceLevel.Debug; 

しかし、私は拒否を取得なぜそれが本当に私に言っていません。

+0

私のWebApiを見ると、私の_Audience_は「https:// {tenant_name} .onmicrosoft.com/{webapi_name}」と定義されていますが、私は__App ID URL__のAzure ADページで同じ値を持っています。一見すると有効に見えるトークンで401 Unauthorizedを取得してから、これを言及すると、おそらく_Audience_設定に結びついている可能性が高いです。 – evilSnobu

+0

'{webapi_name}' == Azure AD – evilSnobu

+0

@evilSnobuのWebApiエントリの名前です。こんにちは、遅い応答にごめんなさい。フィードバックをお寄せいただきありがとうございます。私はそれを試して、サイコロをしなかった。他のアイデア? –

答えて

1

Azure ADディレクトリが何らかの形で破損しているようです。私が作成したオリジナルのコンセプトアプリで何か問題が起こった可能性があります。何らかの理由でAzureポータルでそのアプリを削除することはできないため、ディレクトリ自体を削除することはできません。

しかし、新しいディレクトリを作成すると、残念ながらそれを修正するように見えました。私は同じ方向のすべてに従った。

唯一の違いは、Web.config:<add key="owin:AppStartup" value="buckets_api.Startup"/>に以下を追加したことです。ところが、前回私が追加したのは<add key="owin:AutomaticAppStartup" value="false"/>で、新しいテンプレートで発生したapiの起動に関する問題を解決しました。しかし、私はそれが問題を解決したとは思わない。

私は、Chromeが、アプリケーションとしてadminを再起動せずにポップアップブラウザでトークン交換を完了できなかったことにも気付きました。以前にトークンを取得していたので、それも関連しているかどうかはわかりません。そうは思わない。しかし、私は、誰かが将来これに遭遇する場合に備えて、私のために働いたものを完全に文書化したい。

+0

この問題に関して、Azureのサポートからの回答はありましたか?私は最近、私のテナント広告の1つで同じ問題が発生し始めましたが、残念ながら私のADインスタンスを削除して再作成することはできません。 –

関連する問題