古い認証を.NET 2.0に変換しようとしています。.NET Core 1.1から2.0へのWeb API認証の移行
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
AutomaticAuthenticate = true,
IncludeErrorDetails = true,
Authority = "https://securetoken.google.com/xxxxx",
TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = "https://securetoken.google.com/xxxxxx",
ValidateAudience = true,
ValidAudience = "xxxx",
ValidateLifetime = true,
},
});
私の新しいコードは以下の通りです:
public void Configure(...)
{
...
app.UseAuthentication();
...
}
public void ConfigureServices(IServiceCollection services)
{
...
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.RequireHttpsMetadata = false;
options.IncludeErrorDetails = true;
options.Authority = "https://securetoken.google.com/xxxxxx";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = "https://securetoken.google.com/xxxxx",
ValidateAudience = true,
ValidAudience = "xxxxxx",
ValidateLifetime = true,
};
});
...
services.AddMvc();
services.AddAuthorization(......);
}
しかし、2.0で、私は404応答を取得しています私は、次のコードを持っていました。私のエンドポイントから[Authorize]
属性を削除すると、それは機能します。私の出力ウィンドウには、このことを示しています
Microsoft.AspNetCore.Hosting.Internal.WebHost:情報:情報:http://localhost:62423/api/users/info
Microsoft.AspNetCore.Authorization.DefaultAuthorizationService GET 開始HTTP/1.1をリクエスト を認可ユーザーに失敗しました: (ヌル)。 Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:情報: フィルタ 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'の要求で認証に失敗しました。 Microsoft.AspNetCore.Mvc.ChallengeResult:情報 認証スキームを使用したChallengeResult()を実行しています。Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler:情報: AuthenticationScheme:Identity.Applicationに挑戦しました。 Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:情報:24.0837ms Microsoft.AspNetCore.Hosting.Internal.WebHostで 実行されたアクション SORTE.API.ContentManager.Controllers.UsersController.Info (SORTE.API.ContentManager):情報:情報:リクエスト は35.2446ms 302 Microsoft.AspNetCore.Hosting.Internal.WebHostに仕上がっ依頼 開始HTTP/1.1 http://localhost:62423/Account/Login?ReturnUrl=%2Fapi%2Fusers%2Finfo
Microsoft.AspNetCore.Hosting.Internal.WebHost GET:情報: は5.8149で終了要求ms 404
ログのエラーから、それは/Account/Login
にリダイレクトしようとしているようですが、私はそのようなエンドポイントを持っていません、私のプロジェクトはWeb APIです。
いくつかの設定がありません。
(不正無効なトークンを)ありがとうございます!私はこの問題に約1週間悩まされていました。今、私の主張の変圧器は動作していませんが、それは別の問題です... – RBasniak
うわー。ワオ。ありがとうございました。 –
asp.netコア2.0のアップデート以来、同じ問題に直面してくれてありがとう! – Geotinc