web-dev-qa-db-ja.com

ASP.NET Core 2.1 APIから401 Unauthorizedの詳細を取得する方法

私はASP.NET API(Core 2.1に組み込まれています)に取り組んでおり、テストアプリケーションからそれを呼び出そうとすると、401 Unauthorizedを取得しています。しかし、私の知る限りでは、アクセストークンは問題ありません。 ASP.NET Core 2.1の認証ハンドラから何が無効かについての詳細を取得する方法はありますか?トークンの何が悪いのかについていくつかのアイデアを得ることができれば、それを修正するための解決策を見つけることができるはずですが、今私は暗闇の中で偶然見つけて、さまざまなことを試みています(おそらく、私はそれを作っています悪い)。

5
Jerry Esch

サーバーのログまたはイベントビューアを確認してください。

エラーについては、app.UseAuthentication()の前でも、Configure()の最初のメソッドとしてUseMVC()を呼び出しているかどうかを確認してください。

エラーのサブコードに言及している場合に役立ちます:

401.1: Access is denied due to invalid credentials.
401.2: Access is denied due to server configuration favoring an alternate authentication method.
401.3: Access is denied due to an ACL set on the requested resource.
401.4: Authorization failed by a filter installed on the Web server.
401.5: Authorization failed by an ISAPI/CGI application.
401.7: Access denied by URL authorization policy on the Web server.
6
FrqSalah

サーバーのログを確認する必要があります。私はあなたがあなたのリクエストでトークンを渡す方法である可能性があります。それが何であるかの例:

やっていた:

GET https://localhost:44357/api/test 
Headers:   
    Bearer: {ACCESS_TOKEN_VALUE}   
    Content-Type: application/json 

私がやるべきだったとき:

GET https://localhost:44357/api/test 
Headers:   
    Authorization: Bearer {ACCESS_TOKEN_VALUE}
    Content-Type: application/json

https://github.com/openiddict/openiddict-core/issues/577

0
greyxit