identityserver4 MVC cookie问题
在mvc 客户端使用identityserver4 登录时cookie问题
出现登录成功后不跳转
在客户端和服务端的都需要配置cookie 在不是https 情况下cookie 策略问题 参考Cookie 的 SameSite 属性 - 阮一峰的网络日志 (ruanyifeng.com)
//ConfigureServices
services.Configure<CookiePolicyOptions>(option =>
{
option.MinimumSameSitePolicy = SameSiteMode.Strict;
option.Secure = CookieSecurePolicy.None;
});
//Configure
app.UseCookiePolicy();
回调 /singin-oidc 错误
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); services.AddAuthentication(options => { options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "oidc"; }).AddCookie(CookieAuthenticationDefaults.AuthenticationScheme) .AddOpenIdConnect("oidc", options => { options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.Authority = Configuration["Id4url"].ToString(); options.RequireHttpsMetadata = false; options.ClientId = "CMPMvc"; options.ClientSecret = "1QAZ2WSX3EDC-SZHK-SZ1997-SZMC-SZ1999"; options.SaveTokens = true;//把token 保存到cookie options.ResponseType = "code"; //必须设置cookie signin-oidc 返回的cookie设置 options.CorrelationCookie.SecurePolicy = CookieSecurePolicy.None; options.NonceCookie.SecurePolicy = CookieSecurePolicy.None; options.CorrelationCookie.SameSite = SameSiteMode.Strict; options.NonceCookie.SameSite = SameSiteMode.Strict; options.AuthenticationMethod = Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectRedirectBehavior.FormPost; options.Scope.Clear(); options.Scope.Add(OidcConstants.StandardScopes.OpenId); options.Scope.Add(OidcConstants.StandardScopes.Profile); options.Scope.Add("cmpapi"); options.Scope.Add(OidcConstants.StandardScopes.OfflineAccess);//有刷新token options.GetClaimsFromUserInfoEndpoint = true; });
遇到的问题还是因为cookie问题 openid 存cookie是的异常以及跨域问题
本文作者:_wh
本文链接:https://www.cnblogs.com/xwhqwer/p/15292523.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
.Net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步