IdentityServer4 问题解决

                       RedirectUris = { "https://localhost:7098/signin-oidc" },
                    PostLogoutRedirectUris = { "https://localhost:7098/signout-callback-oidc" },


服务端添加这个

 

 

   RequirePkce = false,
添加这一句

  

 

 登录后跳转就这样,添加下面

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

  

 

  AllowAccessTokensViaBrowser = true,

  

 

   RedirectUris = { "https://localhost:7098/signin-oidc" },

  

 

去除客户端    options.ResponseMode = "fragment";

  

刷新Token 总是为null

   options.Scope.Add(OpenIdConnectScope.OfflineAccess);
    options.TokenValidationParameters.ClockSkew = TimeSpan.FromMinutes(1);
    options.TokenValidationParameters.RequireExpirationTime = true;

  

Token 刷新 返回  identity 的 初始界面的Html代码

 

 var disco = await client.GetDiscoveryDocumentAsync();

请求刷新Token 是加上这一句 

Address = disco.TokenEndpoint,

  

 

20240217 记录

登录账号密码正确就刷新一下,网路连接302 。 http请求

服务端代码
builder.Services.Configure<CookiePolicyOptions>(option =>
{
    option.MinimumSameSitePolicy = SameSiteMode.Strict;
    option.Secure = CookieSecurePolicy.None;
});

app.UseCookiePolicy();



客户端

  //JwtSecurityTokenHandler.DefaultMapInboundClaims = false;


        //必须设置cookie signin-oidc 返回的cookie设置,这里是添加的代码//http不能登录
        options.CorrelationCookie.SecurePolicy = CookieSecurePolicy.None;
        options.NonceCookie.SecurePolicy = CookieSecurePolicy.None;
        options.CorrelationCookie.SameSite = SameSiteMode.Strict;
        options.NonceCookie.SameSite = SameSiteMode.Strict;

  

 20240405添加

 

这个错误由于http和https混用导致,把下面https改为http就行,我启动时地址就是http

  

 

20240406 添加

 

改为https ,不要用http解决

  

 

posted @ 2023-04-29 19:00  孤海飞雁  阅读(83)  评论(0编辑  收藏  举报