当我将持有者令牌与受 保护的 AspNetCore 控制器一起使用时,我收到日志消息:[Authorize]info: Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler[7] Identity.Application was not authenticated. Failure message: Unprotect ticket failed我试图理解这意味着什么,以及可能导致这种情况的原因。Api 的类具有以下设置。Api 使用 AspNet Identity Core。Startuppublic void ConfigureServices(IServiceCollection services){ services.AddDbContext<UserAccountDbContext>(options => options.UseSqlServer(connectionString, sql => sql.MigrationsAssembly(MigrationsAssembly))); services.AddIdentity<UserAccount, IdentityRole>() .AddEntityFrameworkStores<UserAccountDbContext>(); services.AddTransient<UserManager<UserAccount>>(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddAuthorization(); services.AddAuthentication("Bearer") .AddJwtBearer("Bearer", options => { options.Authority = _configuration.OAuth2.ServerUri; options.RequireHttpsMetadata = false; options.Audience = "api"; }); }和:public void Configure(IApplicationBuilder app, IHostingEnvironment env){ if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseAuthentication(); app.UseMvc();}对调用方的响应是“未经授权”(401),没有任何解释。编辑:我认为这与评论所建议的cookie有关。我看到一块饼干。我清除了这个并尝试但没有帮助。我认为这可能与我的令牌服务器和Api服务器的设置方式有关(两者都使用AspNet Identity)。Identity.Application我有一个Mvc项目在localhost:5000上作为Idp运行。然后,我的用户管理器 Api 具有受保护的控制器,它托管在 localhost:5001 上。当我尝试访问受保护的控制器时,我被重定向到IdP项目中的登录页面(我认为这是设置cookie的原因)。然后,我尝试将令牌与控制器一起使用,我得到了上面提到的错误。
- 2 回答
- 0 关注
- 165 浏览
添加回答
举报
0/150
提交
取消