Могу ли я объединить ASP.NET Core Identity с JWT?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Могу ли я объединить ASP.NET Core Identity с JWT?

Сообщение Anonymous »

Я новичок в мире .NET и хотел бы настроить аутентификацию в своем веб-API с помощью JWT.
Я увидел, что ASP.NET Core Identity может обеспечить функциональность для авторизация путем сопоставления некоторых конечных точек (

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

app.MapIdentityApi();). Однако я хотел бы использовать JWT вместо простых токенов-носителей текстовых строк (которые есть по умолчанию).
Я пытаюсь настроить все это в модульном монолите. На данный момент вот моя установка:
Program.cs
«хостового» веб-приложения:

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

using ...;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddUserModuleServices(builder.Configuration);

builder.Services.AddAuthorization();

builder.Services.AddControllers();

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

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

app.MapIdentityApi();

app.UseHttpsRedirection();

app.UseAuthentication();

app.UseAuthorization();

app.MapControllers();

app.Run();
Затем в моем пользовательском модуле у меня есть следующее расширение коллекции сервисов:

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

using ...;

namespace ...;

public static class UserModuleServiceExtensions
{
public static IServiceCollection AddUserModuleServices(
this IServiceCollection services,
ConfigurationManager config)
{
string? connectionString = config.GetConnectionString("UsersConnectionString");
services.AddDbContext(options => options.UseSqlite(connectionString));

// Configure identity
services.AddIdentityCore()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();

// Configure JWT Authentication
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,

ValidIssuer = config["JwtSettings:Issuer"],
ValidAudience = config["JwtSettings:Audience"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(config["JwtSettings:Key"]!))
};
});

return services;
}
}
Однако я не могу запустить это приложение. Я получаю сообщение об ошибке:

Необработанное исключение. System.InvalidOperationException: служба для типа «Microsoft.AspNetCore.Identity.IEmailSender`1[namespace...]» не зарегистрирована.

Любые советы ? Что мне не хватает? Как упоминалось ранее, я новичок в .NET Core, поэтому чувствую себя здесь немного потерянным.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ASP.NET Core 7 Identity + JWT Authentication работает неправильно
    Anonymous » » в форуме C#
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • ASP.NET Core MVC, использующий API с токенами JWT. User.Identity.IsAuthenticated возвращает false
    Anonymous » » в форуме C#
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous
  • ASP.NET Core JWT и Identity — конфигурация Program.cs
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • ASP.NET Core JWT и Identity — конфигурация Program.cs
    Anonymous » » в форуме C#
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • ASP.NET Core JWT и Identity — конфигурация Program.cs
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

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