.NET Core 3.0でAddJwtBearer拡張機能を置き換える方法


19

.NET Core 2.2でコンパイルして動作する次のコードがあります。

  byte[] key = Encoding.ASCII.GetBytes(Constants.JWT_SECRET); 
        services.AddAuthentication(x =>
        {
            x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
        })
        .AddJwtBearer(x =>
        {
            x.RequireHttpsMetadata = false;
            x.SaveToken = true;
            x.TokenValidationParameters = new TokenValidationParameters
            {
                ValidateIssuerSigningKey = true,
                IssuerSigningKey = new SymmetricSecurityKey(key),
                ValidateIssuer = false,
                ValidateAudience = false
            };
        });

.NET Core 3.0では、次のエラーが発生します。

エラーCS1061「AuthenticationBuilder」には「AddJwtBearer」の定義が含まれておらず、タイプ「AuthenticationBuilder」の最初の引数を受け入れるアクセス可能な拡張メソッド「AddJwtBearer」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

MSFTドキュメントを見るとき:https : //docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer? view=aspnetcore-2.2

そして、バージョン3.0に到達しようとしました。これは、これが定義されている最後のバージョンのようです。AddJwtBearerをCore 3.0に移行するにはどうすればよいですか?


csprojectファイルを共有する
JeePakaJP

回答:



6

Microsoft.AspNetCore.Authentication.JwtBearerパッケージをプロジェクトに含める必要があります。


2
using Microsoft.AspNetCore.Authentication.JwtBearer;トップで使用しましたか?
Mert Sayn

はい、そうです。MSFTのドキュメントにこのメソッドは3.0には存在しないと明記されているので、それほど単純ではないと思います。起動時に依存性注入を使用してJwtBearerを追加する方法はいくつかあると思いますが、インターネットで見つけることができませんでした。
シェルペペレイラ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.