Интеграция Firebase Auth/Author для ASP.NET Core 6C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Интеграция Firebase Auth/Author для ASP.NET Core 6

Сообщение Anonymous »

Я пытаюсь интегрировать аутентификацию Firebase с ASP.NET Core. Я могу взаимодействовать с Firebase, однако столкнулся с проблемой при аутентификации API.
Описание ошибки в событии JWT:

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

OnAuthenticationFailed: IDX10503: Signature validation failed. Token does not have a kid. Keys tried: '[PII of type 'System.Text.StringBuilder' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'. Number of keys in TokenValidationParameters: '3'.
Number of keys in Configuration: '0'.
Exceptions caught:
'[PII of type 'System.Text.StringBuilder' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'.
token: '[PII of type 'System.IdentityModel.Tokens.Jwt.JwtSecurityToken' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'. See https://aka.ms/IDX10503 for details.
Что я сделал: В основном следую инструкциям на Youtube, работаю с ними, а не со мной.
Nuget пакет: Моя конфигурация:
Изображение

Пытаюсь вызвать URL-адрес защищенного токена:
[img]https:// i.sstatic.net/Z1TxsimS.png[/img]

Моя конфигурация JWT:

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

public static IServiceCollection FireBaseJWT(this IServiceCollection services, WebApplicationBuilder builder)
{
Console.WriteLine(Path.Combine(Directory.GetCurrentDirectory()));

// Initialize Firebase Admin SDK
FirebaseApp.Create(new AppOptions()
{
Credential = GoogleCredential.FromFile(Path.Combine(Directory.GetCurrentDirectory(), "Config/firebase.json")),
});

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = builder.Configuration["FirebaseJwt:Firebase:ValidIssuer"];
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = builder.Configuration["FirebaseJwt:Firebase:ValidIssuer"],
ValidateAudience = true,
ValidAudience = builder.Configuration["FirebaseJwt:Firebase:ValidAudience"],
ValidateLifetime = true,
ValidateIssuerSigningKey = true
};

options.Events = new JwtBearerEvents
{
OnAuthenticationFailed = context =>
{
Console.WriteLine("OnAuthenticationFailed: " + context.Exception.Message);
return Task.CompletedTask;
},
OnTokenValidated = context =>
{
Console.WriteLine("OnTokenValidated: " + context.SecurityToken);
return Task.CompletedTask;
}
};
});

return services;
}

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

Program.cs:
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers().AddJsonOptions(options =>
{
options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
});

builder.Services.FireBaseJWT(builder);

builder.Services.AddAuthorization();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.MySwaggerConfig();
builder.Services.MyDIConfig();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}

app.UseAuthentication();
app.UseAuthorization();

app.MapControllers();

app.Run();
Что я рассматривал:
  • Обычно в TokenValidationParameters должен быть IssuerSigningKey , который является нашим закрытым ключом, интересно, имеет ли он какое-либо отношение к ключу аутентификации Firebase на этом изображении:
    Изображение
  • В этом документе говорится, что нам нужно вручную проверить токен, там также видео о создании промежуточного программного обеспечения для обработчика аутентификации. Стоит ли оно того, когда дело доходит до обработчика авторизации, поскольку нам нужно иметь дело с утверждениями.


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Интеграция Firebase Auth/Author для ASP.net core 6
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Ошибка Bad Gateway (502) при вызове API Core Core .NET .NET из другого API Core .NET .NET .NET .NET
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Ошибка Bad Gateway (502) при вызове API Core Core .NET .NET из другого API Core .NET .NET .NET .NET
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Gradle не может найти библиотеки Firebase (Firebase-Auth-KTX, Storage-KTX и т. Д.) После обновления до Firebase Bom 34.2
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Gradle не может найти библиотеки Firebase (Firebase-Auth-KTX, Storage-KTX и т. Д.) После обновления до Firebase Bom 34.2
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

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