WebアプリケーションとAPIの両方でAsp.Net Core 1.1にあるテスト用に既存の小さなアプリケーションがあります。 Azure AD B2Cを使用して行われます。 .Net Core 2.0に移行しようとしていますが、動作させる方法を理解できません.GitHub Azure-SamplesのサンプルをWeb AppとAPIに使用してみましたが、 2.0を使用してWebアプリケーションからWeb APIを呼び出し、AD B2Cによって保護されている実例があれば、apiにアクセスしようとしています。WebアプリケーションとAPIの認証にAsp.Net Core 2.0とAzure AD B2C
編集: 私がテストに使用したサンプルは以下のとおりです。 Webアプリケーション:WebApp-OpenIDConnect-DotNet core2.0 Web APIを:B2C-WebApi core2.0 、私は私のB2Cのディレクトリを一致させるのAppSettings値を変更しました。
私のasp.netコア1.1テストアプリケーションでは、私は上記と同じサンプルを使用していますが、appsettingsと同じ値を持つマスターブランチから使用しています。デフォルトでは編集2
、startup.csに私はこの持っている:私は次のエラーを与える
services.AddAuthentication()
.AddJwtBearer(option => new JwtBearerOptions
{
Authority = string.Format("https://login.microsoftonline.com/tfp/{0}/{1}/v2.0/",
Configuration["Authentication:AzureAd:Tenant"], Configuration["Authentication:AzureAd:Policy"]),
Audience = Configuration["Authentication:AzureAd:ClientId"],
Events = new JwtBearerEvents
{
OnAuthenticationFailed = AuthenticationFailed
}
});
:
Microsoft.AspNetCore.Hosting.Internal.WebHost:情報:要求HTTP/1.1を開始します。
Microsoft.AspNetCore.Server.Kestrel:エラー:接続ID "0HL89JHF4VBLM"、要求ID "0HL89JHF4VBLM:00000001":未処理の例外がアプリケーションによってスローされました。 System.InvalidOperationException:authenticationSchemeが指定されておらず、DefaultChallengeSchemeが見つかりませんでした。
その
services.AddAuthentication(sharedOption =>
{
sharedOption.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
エラーなどの修正services.AddAuthenticationは今
Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandlerの場合:情報:トークンXXXの検証に失敗しました。 Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException:IDX10500:署名の検証に失敗しました。署名を検証するためのセキュリティキーは提供されていません。 Microsoft.AspNetCoreでSystem.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateToken(文字列トークン、TokenValidationParameters validationParameters、セキュリティトークン& validatedToken)でSystem.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature(文字列トークン、TokenValidationParameters validationParameters) で 。 Authentication.JwtBearer.JwtBearerHandler.d__6.MoveNext()
それを設定するためにlinkをクリックして従ってくださいあなたを助ける情報あなたが利用したサンプル、使用しているコード、HTTPリクエスト、およびトークンペイロードへのリンクを追加できますか? – Saca
@Saca、私はリンクや詳細を追加する質問を編集しました。私が行った設定や変更を除いて –
AppとApiが.net core 1.1である場合、またはAppが2.0でApiが1.1の場合に機能します。 AppとApiが2.0の場合、またはAppが1.1でApiが2.0の場合は動作しません –