Невозможно получить доступ к утверждениям JWT из ASP.NET HttpContext.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно получить доступ к утверждениям JWT из ASP.NET HttpContext.

Сообщение Anonymous »

Я пытаюсь получить доступ к утверждениям пользователя из его токена-носителя в ASP.NET Core, но в обработчике HttpContext.User.Identity.Name всегда имеет значение null, а коллекция Claims имеет значение пусто.
Токен передается в виде заголовка следующим образом:

Авторизация: Носитель eyJhbGci....

В Startup.Configure я вызываю UseAuthentication после UseRouting и перед UseEndpoints.

Код: Выделить всё

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseAuthentication();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync(context.User.Identity.Name ?? "null");
});
});
}
В Startup.ConfigureServices я вызываю AddAuthentication и AddJwtBearer. Я добавил несколько опций, чтобы попытаться отключить как можно больше проверок, поскольку сейчас я просто пытаюсь прочитать значения из токена, но это не помогло.

Код: Выделить всё

public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
{
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters {
ValidateIssuer = false,
ValidateIssuerSigningKey = false,
ValidateAudience = false,
ValidateActor = false,
ValidateLifetime = false,
ValidateTokenReplay = false,
};
}
);
}
Мой токен — это фиктивный токен по умолчанию из https://jwt.io/#debugger-io, и при декодировании он выглядит так:

Код: Выделить всё

{"alg":"HS256","typ":"JWT"}{"sub":"1234567890","name":"John Doe","iat":1516239022}
Чего мне не хватает, чтобы это работало?


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Откуда httpcontext cascadingparameter httpcontext в приложении Blazor Server с идентификацией?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • ASP.NET Core 8: отказ в авторизации по утверждениям
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • ASP.NET Core 8: отказ в авторизации по утверждениям
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как получить доступ к зашифрованным утверждениям после перехода на Spring-security-saml2-service-provider 6.4
    Anonymous » » в форуме JAVA
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Доступ к утверждениям из OIDC на Blazor Server
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

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