关于ASP.NET Web API:如何延长每个请求后的令牌过期日期(我使用WebApi承载令牌)

How to prolong token expire date after each request(i use WebApi bearer token)

问题:

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

Ios,Android,WinPhone的到期日期必须为1年,而Web的到期日期必须为5分钟,并且每次用户活动后的到期日期都必须延长

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

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


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

1
2
3
4
5
6
7
8
9
RefreshTokenProvider = new AuthenticationTokenProvider()
            {
                OnCreate = (obj) =>
                {
                    obj.Ticket.Properties.ExpiresUtc = DateTime.UtcNow.AddMonths(6);
                    obj.SetToken(obj.SerializeTicket());
                },
                OnReceive = (obj) => { obj.DeserializeTicket(obj.Token); }
            },