如何知道oauth访问令牌是否已过期

时间:2016-02-24 22:18:40

标签: asp.net asp.net-web-api oauth oauth-2.0 asp.net-web-api2

描述

在Web Api项目模板中,在向{em> Token 端点POST发送www.mycoolwebsite.com/Token请求后,我们得到一个类似于此的Json:

{
   "access_token":"qkRwQD0A85...",
   "token_type":"bearer",
   "expires_in":14,
   "userName":"admin@mycoolwebsite.com",
   ".issued":"Wed, 24 Feb 2016 18:15:53 GMT",
   ".expires":"Wed, 24 Feb 2016 18:16:08 GMT"
}

在客户端,(比如一个移动应用程序)我将这个json保存在一个文件上,并查看该令牌是否已过期,我将DateTime.UtcNow与令牌{{1}进行比较}键。

问题

这是查看访问令牌是否已过期的正确方法吗?

如果没有,检查这个的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

我不会检查访问令牌的到期时间。为什么不只是将访问令牌发送到API,而不是建立检查到期时间和处理它的机制,如果你得到401,请求新的访问令牌。无论如何,你必须构建逻辑来处理401 ...为什么不依赖它呢?