在 WebAPI C# 中使用 OAuth 1.0 令牌的多个用户如何进行验证?

问题描述

我在 startup.cs 中编写了每 10 分钟使令牌过期的逻辑。但是我担心当多个用户调用 API 时会为不同的用户生成不同的令牌,那么如何为不同的用户维护状态和令牌的有效性? 例如,

  1. 用户 1 在下午 05:15 获取令牌,该令牌应在下午 05:25 过期 - 用户 1 应拒绝 5:25 之后的请求
  2. 用户 2 在下午 05:20 获取令牌,该令牌应在下午 05:30 到期 - 用户 2 应拒绝 5:30 之后的请求

这意味着在5:25之后user1的操作应该被撤销并且user2可以使用分配给他的令牌并且可以进行操作直到5:30。这是如何维护的以及在哪里管理?

    public void ConfigureAuth(IAppBuilder app)
    {
        app.UseCors(CorsOptions.AllowAll);

        var OAuthOptions = new OAuthAuthorizationServerOptions
        {
            AllowInsecureHttp = true,TokenEndpointPath = new PathString("/tokenPath"),AccesstokenExpireTimeSpan = TimeSpan.FromMinutes(10),Provider = new OauthProvider()
        };

        app.USEOAuthBearerTokens(OAuthOptions);
        app.USEOAuthAuthorizationServer(OAuthOptions);
        app.USEOAuthBearerAuthentication(new OAuthBearerAuthenticationoptions());

        HttpConfiguration config = new HttpConfiguration();
        WebApiConfig.Register(config);
    } 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...