asp.net - 如何知道 oauth 访问 token 是否过期

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

描述

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

{
   "access_token":"qkRwQD0A85...",
   "token_type":"bearer",
   "expires_in":14,
   "userName":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="87e6e3eaeee9c7eafee4e8e8ebf0e2e5f4eef3e2a9e4e8ea" rel="noreferrer noopener nofollow">[email protected]</a>",
   ".issued":"Wed, 24 Feb 2016 18:15:53 GMT",
   ".expires":"Wed, 24 Feb 2016 18:16:08 GMT"
}

在客户端(假设是移动应用程序),我将此 json 保存在文件中,为了查看 token 是否过期,我将 DateTime.UtcNow 与 token 的 进行比较.expires 键。

问题

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

如果没有,检查此问题的最佳方法是什么?

最佳答案

我不会检查访问 token 的到期时间。与其构建一个机制来检查过期时间并进行处理,为什么不直接将您拥有的访问 token 发送到 API,如果返回 401,则请求新的访问 token 。无论如何,您都必须构建逻辑来处理 401...为什么不依赖它呢?

关于asp.net - 如何知道 oauth 访问 token 是否过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35614342/

相关文章:

c# - 从 Azure 获取用户的个人资料图片

asp.net - 如何在Asp.net MVC3的View中以dd/MM/yyyy格式显示日期

asp.net-mvc - ADFS 2.0 Windows 2008 R2 Web API

c# - 使用自定义事件刷新 ASP.NET 页面

asp.net - 在 ASP.NET MVC Web API 服务和 MVC 客户端架构中实现身份验证和基于角色的授权

javascript - 如何获取 Fitbit 排行榜以进行比赛

java - OAuth2 : How to generate client id and client secret?

ruby-on-rails - Sorcery gem Facebook OAuth 返回 Nil 电子邮件

asp.net - OpenCover 显示没有结果 asp net core 461

asp.net - 在运行时以编程方式将值添加到下拉列表