gpt4 book ai didi

c# - ASP.Net Web Api 如何在运行时更改 token 过期时间

转载 作者:太空宇宙 更新时间:2023-11-03 12:26:45 26 4
gpt4 key购买 nike

对于我们的 ASP.Net 应用程序,我们最近实现了 Web API 用法。我们使用不记名 token 身份验证。我们的客户已经订购了在设置页面上更改 token 到期时间并将其存储在数据库中的机会。从数据库中获取并在Startup.Auth.cs

中更改时间没有问题
static Startup()
{
SettingsService _settingService = EngineContext.Current.Resolve<SettingsService>();
var hostSettings = _settingService.GetHostSettings();
OAuthServerOptions = new OAuthAuthorizationServerOptions()
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromHours(hostSettings.ApiTokenExpirationTimeInHours),
Provider = new ApplicationOAuthProvider()
};
}

但是我们每次要修改过期时间都得重启应用。如何在不重启应用的情况下动态修改AccessTokenExpireTimeSpan

最佳答案

这个问题的解决很简单。 OAuthServerOptions 属性被设置为带有私有(private) setter 的静态公共(public)属性

public static OAuthAuthorizationServerOptions OAuthServerOptions { get; private set; }

因此 OAuth 选项在 Startup 类之外可用。所以当主机设置改变时,过期时间可以自由改变

Startup.OAuthServerOptions.AccessTokenExpireTimeSpan = TimeSpan.FromHours(hostSettings.ApiTokenExpirationTimeInHours); 

关于c# - ASP.Net Web Api 如何在运行时更改 token 过期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44546570/

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