【问题标题】:How to prolong token expire date after each request(i use WebApi bearer token)如何在每次请求后延长令牌过期日期(我使用 WebApi 不记名令牌)
【发布时间】:2016-07-25 02:08:38
【问题描述】:

问题:

  • 我有带有默认 Asp 身份(承载)的 ASP WebApi 2
  • 客户端平台 - Ios、Android、WinPhone 和 Web

Ios、Android、WinPhone 的到期日期必须是 1 年,但对于 Web - 5 分钟,并且到期日期必须在每次用户活动后延长

每个请求都可以包含 PlatformType(或其他信息)

每次用户活动后令牌过期日期如何延长?

【问题讨论】:

标签: asp.net-web-api oauth access-token


【解决方案1】:

当您的主令牌过期时,您应该使用 刷新令牌。此刷新令牌可以有很多天的到期日期,您可以选择。

RefreshTokenProvider = new AuthenticationTokenProvider()
            {
                OnCreate = (obj) =>
                {
                    obj.Ticket.Properties.ExpiresUtc = DateTime.UtcNow.AddMonths(6);
                    obj.SetToken(obj.SerializeTicket());
                },
                OnReceive = (obj) => { obj.DeserializeTicket(obj.Token); }
            },

【讨论】:

  • 很抱歉,即使用户正在执行活动,这也没有延长,令牌在用户提交示例请求时过期!我不想将expiresUtc 设置为超过一分钟
  • 令牌过期时,您需要使用 'grant_type' = 'refresh_token' 和生成第一个令牌时给出的 'refresh_token' 创建一个新令牌。令牌是短暂的,例如刷新令牌可能会持续 2 周。
猜你喜欢
  • 2017-04-24
  • 2016-02-15
  • 2012-02-28
  • 1970-01-01
  • 2020-11-08
  • 1970-01-01
  • 1970-01-01
  • 2014-04-14
  • 2015-02-06
相关资源
最近更新 更多