小编Evi*_*erX的帖子

发布 Blazor WASM 项目时 Net7 JWT 空引用?

所以我一直在 Net7 预览版中工作,并一直在尝试部署一个具有身份和身份验证功能的 WASM 项目,该项目在本地运行良好。当我部署网站 500 秒并深入研究一些日志时,我得到:

2022-11-07T13:42:28.854805951Z fail: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler[3]
2022-11-07T13:42:28.854856853Z       Exception occurred while processing message.
2022-11-07T13:42:28.854865053Z       System.NullReferenceException: Object reference not set to an instance of an object.
2022-11-07T13:42:28.856255318Z          at Microsoft.AspNetCore.ApiAuthorization.IdentityServer.IdentityServerJwtBearerOptionsConfiguration.ResolveAuthorityAndKeysAsync(MessageReceivedContext messageReceivedContext)
2022-11-07T13:42:28.856286120Z          at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
Run Code Online (Sandbox Code Playgroud)

在我的 Program.cs 中我有

builder.Services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(connectionString));
builder.Services.AddDatabaseDeveloperPageExceptionFilter();

builder.Services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
    .AddEntityFrameworkStores<ApplicationDbContext>();

builder.Services.AddIdentityServer()
    .AddApiAuthorization<ApplicationUser, ApplicationDbContext>();

builder.Services.AddAuthentication()
    .AddIdentityServerJwt()
    .AddJwtBearer()
    .AddGoogle(googleOptions =>
    {
        googleOptions.ClientId = builder.Configuration["Authentication:Google:ClientId"];
        googleOptions.ClientSecret = builder.Configuration["Authentication:Google:ClientSecret"];
    });

builder.Services.AddControllersWithViews();
builder.Services.AddRazorPages();
builder.Services.AddHttpContextAccessor();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{ …
Run Code Online (Sandbox Code Playgroud)

identity azure blazor-webassembly duende-identity-server .net-7.0

2
推荐指数
1
解决办法
1251
查看次数