gpt4 book ai didi

c# - 如何使不记名 token 无效

转载 作者:行者123 更新时间:2023-11-30 22:04:56 25 4
gpt4 key购买 nike

我写了一个提供商,它通过用户名/密码制作不记名 token 10 年:

public partial class Startup
{
private readonly TimeSpan _tokenLifetime = TimeSpan.FromDays(3600);

public void ConfigureAuth(IAppBuilder app)
{
var config = new HttpConfiguration();
WebApiConfig.Register(config);
app.UseCors(CorsOptions.AllowAll);

app.CreatePerOwinContext(UsersDB.Create);
app.CreatePerOwinContext<UserManager>(UserManager.Create);
app.CreatePerOwinContext<RoleManager>(RoleManager.Create);

app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/getToken"),
Provider = new ApplicationOAuthProvider(new UserManager(new ApiUserStore(new UsersDB()))),
AccessTokenExpireTimeSpan = _tokenLifetime,
AllowInsecureHttp = true,
});

app.UseWebApi(config);
}
}

客户端必须获取 token 并将其用于 Web API 服务的所有方法。如果客户端得到新 token ,旧 token 不会失效。客户端可以使用这两种 token 。

如何让第一个token失效?

最佳答案

处理这些情况的标准方法是实现刷新 token 架构。

最相关的好处:

  • 由于 token 过期,您不需要请求用户和密码(您不会让 token 过期)。
  • 您可以轻松撤销不允许刷新的用户访问权限。
  • 您可以根据需要向新生成的 token 添加新声明。

看看这篇文章,您将获得如何实现它的完整说明。

http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/

关于c# - 如何使不记名 token 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24733718/

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