IDX10500: Проверка подписи не удалась. Ключи безопасности не было предоставлено - OpenIddict Identity API Интеграция APIC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 IDX10500: Проверка подписи не удалась. Ключи безопасности не было предоставлено - OpenIddict Identity API Интеграция API

Сообщение Anonymous »

Я интегрирую API .NET 9 с API идентификатора на основе OpenIDDICT для аутентификации JWT с использованием AddJwtBearer.IDX10500: Signature validation failed. No security keys were provided to validate the signature.

at Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(JsonWebToken jwtToken, TokenValidationParameters validationParameters, BaseConfiguration configuration)
at Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignatureAndIssuerSecurityKey(JsonWebToken jsonWebToken, TokenValidationParameters validationParameters, BaseConfiguration configuration)
at Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateJWSAsync(JsonWebToken jsonWebToken, TokenValidationParameters validationParameters, BaseConfiguration configuration)

Что я заметил:
API идентификации возвращает следующее в /.well-known/openid-configuration:
{
"issuer": "https://mymicroservices-uat.online.com/IdentityService/",
"token_endpoint": "http://mymicroservices-uat.online.com/I ... nect/token",
"jwks_uri": "http://mymicroservices-uat.online.com/I ... known/jwks",
"grant_types_supported": [
"client_credentials",
"refresh_token",
"password"
],
"scopes_supported": [
"openid",
"offline_access"
],
"claims_supported": [
"aud",
"exp",
"iat",
"iss",
"sub"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"subject_types_supported": [
"public"
],
"prompt_values_supported": [
"consent",
"login",
"none",
"select_account"
],
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"private_key_jwt",
"client_secret_basic"
],
"require_pushed_authorization_requests": false,
"claims_parameter_supported": false,
"request_parameter_supported": false,
"request_uri_parameter_supported": false,
"tls_client_certificate_bound_access_tokens": false,
"authorization_response_iss_parameter_supported": true
}

Я заметил jwks_uri и token_endpoint Использовать http , в то время как мой сайт работает https . Это может быть причиной этого? Как я могу справиться с этим? В то время как я запускаю это в локальном, а также отладке на сервере, работая отлично.builder.Services.AddIdentity()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();

builder.Services.AddOpenIddict()
.AddCore(opt =>
{
opt.UseEntityFrameworkCore()
.UseDbContext();
})
.AddServer(opt =>
{
opt.SetIssuer(new Uri("https://mymicroservices-uat.online.com/IdentityService/"));
opt.SetTokenEndpointUris("connect/token");
opt.SetConfigurationEndpointUris(".well-known/openid-configuration");
opt.AllowClientCredentialsFlow().AllowRefreshTokenFlow();
opt.AllowPasswordFlow().AllowRefreshTokenFlow();

opt.AcceptAnonymousClients();

if (builder.Environment.IsProduction())
{
var signingThumbprint = config["OpenIddict:Certificates:Signing:Thumbprint"];
var signingStoreLocation = config["OpenIddict:Certificates:Signing:StoreLocation"];

var encryptionThumbprint = config["OpenIddict:Certificates:Encryption:Thumbprint"];
var encryptionStoreLocation = config["OpenIddict:Certificates:Encryption:StoreLocation"];

if (!string.IsNullOrWhiteSpace(signingThumbprint))
opt.AddSigningCertificate(CertificateHelper.GetCertificateByThumbprint(signingThumbprint, signingStoreLocation!));

if (!string.IsNullOrWhiteSpace(encryptionThumbprint))
opt.AddEncryptionCertificate(CertificateHelper.GetCertificateByThumbprint(encryptionThumbprint, encryptionStoreLocation!));
}
else
{
opt.AddDevelopmentEncryptionCertificate()
.AddDevelopmentSigningCertificate();
}

opt.DisableAccessTokenEncryption();

opt.UseAspNetCore()
.EnableTokenEndpointPassthrough()
.EnableAuthorizationEndpointPassthrough();

if (builder.Environment.IsDevelopment())
{
opt.UseAspNetCore().DisableTransportSecurityRequirement();
}
});

builder.Services.AddAuthentication().AddCookie();
builder.Services.AddAuthorization();
builder.Services.AddControllers();
builder.Services.AddOpenApi();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

app.UseRouting();

if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
app.UseSwagger();
app.UseSwaggerUI();
}

app.UsePathBase("/IdentityService");
app.UseHttpsRedirection();

app.UseAuthentication();

app.UseAuthorization();

app.MapControllers();
< /code>
Также нет никаких проблем с пакетом. Все используют одинаковые версии и до даты < /p>
dotnet list package --include-transitive | sls "Microsoft.IdentityModel|System.IdentityModel"

> Microsoft.IdentityModel.JsonWebTokens 8.13.0 8.13.0
> Microsoft.IdentityModel.Logging 8.13.0 8.13.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 8.13.0 8.13.0
> Microsoft.IdentityModel.Abstractions 8.13.0
> Microsoft.IdentityModel.Protocols 8.13.0
> Microsoft.IdentityModel.Tokens 8.13.0
> System.IdentityModel.Tokens.Jwt 8.13.0
> Microsoft.IdentityModel.JsonWebTokens 8.13.0 8.13.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 8.13.0 8.13.0
> Microsoft.IdentityModel.Abstractions 8.13.0
> Microsoft.IdentityModel.Logging 8.13.0
> Microsoft.IdentityModel.Protocols 8.13.0
> Microsoft.IdentityModel.Tokens 8.13.0
> System.IdentityModel.Tokens.Jwt 8.13.0
> Microsoft.IdentityModel.JsonWebTokens 8.13.0 8.13.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 8.13.0 8.13.0
> Microsoft.IdentityModel.Abstractions 8.13.0
> Microsoft.IdentityModel.Logging 8.13.0
> Microsoft.IdentityModel.Protocols 8.13.0
> Microsoft.IdentityModel.Tokens 8.13.0
> System.IdentityModel.Tokens.Jwt 8.13.0


Подробнее здесь: https://stackoverflow.com/questions/797 ... d-openiddi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»