首页 > 解决方案 > 基于OAuth2.0使用Token的移动应用认证

问题描述

我正在使用 Elixir 的 Phoenix 框架构建一个 REST API。在 API 中,我需要通过电话号码(即通过发送 SMS OTP 代码)对用户进行身份验证。在对用户进行身份验证后,身份验证服务器将访问令牌和刷新令牌发送给客户端。客户端(移动应用程序)将这些令牌存储在本地,并将访问令牌发送到 HTTP 标头中,就像Authorization: Bearer <Access_Token>对资源服务器的每个请求一样。我的实际问题是,资源服务器如何验证从移动应用程序/客户端收到的访问令牌?

资源服务器是否需要联系 Auth 服务器来验证 Access Token?那将是很多开销。请帮助我了解 RestFull API 身份验证。

感谢您花时间阅读我的问题。

标签: restelixirphoenix-framework

解决方案


资源服务器如何验证从移动应用程序/客户端收到的访问令牌?

与夜总会保镖验证您的驾驶执照作为年龄证明以让您进入的方式相同:通过验证授权和签名,但它不需要打电话给您的 DMV 来验证您的执照是真实的,因为它信任签名(在本例中为加密签名)。

也就是说,一些系统确实使用“参考令牌”,它们是无意义的随机数据的短(比如 32 个字节),用作授权服务器持有的某些用户权限记录的不可预测的记录标识符。资源服务器最初需要联系身份验证服务器,但随后它可以简单地将身份验证结果本身缓存一段时间。


推荐阅读