gpt4 book ai didi

asp.net - IdentityTokenLifetime 到期时用户未通过身份验证

转载 作者:行者123 更新时间:2023-12-01 14:27:56 25 4
gpt4 key购买 nike

什么是刷新 IdentityToken 的正确方法。我们正在使用隐式流。

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
ClientId = ConfigurationManager.AppSettings["IdSrv.ClientId"],
Authority = ConfigurationManager.AppSettings["IdSrv.Authority"],

AuthenticationType = "MySTS",

ResponseType = "id_token token", //Implicit Flow

Scope = "openid name email",

RedirectUri = ConfigurationManager.AppSettings["IdSrv.RedirectUri"],
PostLogoutRedirectUri = ConfigurationManager.AppSettings["IdSrv.PostLogoutRedirectUri"],

SignInAsAuthenticationType = "OAuth Bearer",
});

IdentityTokenLifetime 默认为 300(=5 分钟)。当该时间到期时,将不再对用户进行身份验证。我们是否应该返回状态 401(并传递 prompt=none),以便中间件重定向到 IdentityServer3 并再次返回?还有别的办法吗?

最佳答案

理论上:

  1. 您可以增加 cookie 的 ttl,当用户通过 openId 登录时,并通过此 cookie 对用户进行身份验证。如果 cookie 过期,那么您可以返回 401 或进行重定向以重新登录。
  2. 身份服务器应提供刷新 token (通过 api),如果您需要,它用于获取另一个访问 token 。
  3. 另一个想法:通常,出于安全原因,访问 token 仅在有限的时间内提供

关于asp.net - IdentityTokenLifetime 到期时用户未通过身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46716399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com