第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

.Net Core 自定義身份驗(yàn)證使用 API 密鑰和 Identity Server 4

.Net Core 自定義身份驗(yàn)證使用 API 密鑰和 Identity Server 4

C#
茅侃侃 2022-10-23 16:49:56
我有一個(gè)使用 JWT 令牌進(jìn)行身份驗(yàn)證的 .NET Core 2.2 Web API。令牌由 Identity Server 4 在單獨(dú)的 API 上生成。所有身份驗(yàn)證和授權(quán)都可以使用 JWT 令牌按預(yù)期工作。但我需要擴(kuò)展它以允許使用 API 密鑰。如果提供了 API 密鑰,我想加載該特定用戶的聲明,將其添加到請(qǐng)求中并讓 Authorize 屬性處理設(shè)置的策略。這是我按照這里的建議到目前為止所做的。我的錯(cuò)誤與鏈接的帖子完全相同,它也適用于我使用具有一組角色的 GenericPrincipal 但我使用的是 AuthorisationPolicies 并且我當(dāng)前的實(shí)現(xiàn)總是收到 401 錯(cuò)誤,給我類似于上面鏈接的錯(cuò)誤。啟動(dòng).cspublic void ConfigureServices(IServiceCollection services)    {        services.AddMvcCore(options =>        {            options.Filters.Add(new RequireHttpsAttribute());            options.Filters.Add(new AuthorizeFilter());            options.Filters.Add(typeof(ValidateModelStateAttribute));            options.AllowEmptyInputInBodyModelBinding = true;        })        .AddAuthorization(options =>        {            options.AddPolicies();        })        .AddJsonFormatters();        services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme)            .AddIdentityServerAuthentication(options =>            {                options.Authority = Configuration["Authentication:Authority"];                options.RequireHttpsMetadata = true;                options.ApiName = Configuration["Authentication:ApiName"];            });        services.AddCors();    }public void Configure(IApplicationBuilder app, IHostingEnvironment env)    {        if (env.IsDevelopment())        {            app.UseDeveloperExceptionPage();        }        else        {            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.            app.UseHsts();        }        app.UseCors(policy =>        {            policy.AllowAnyHeader();            policy.AllowAnyMethod();            policy.AllowAnyOrigin();        });        app.UseHttpsRedirection();        app.UseMiddleware<ApiKeyMiddleware>();        app.UseAuthentication();        app.UseMvc();    }
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

顯然,我必須在此處設(shè)置AuthenticationTypeCustom 。ClaimsIdentity

var identity = new ClaimsIdentity(claims, "Custom");


查看完整回答
反對(duì) 回復(fù) 2022-10-23
  • 1 回答
  • 0 關(guān)注
  • 160 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)