【发布时间】:2018-12-28 14:08:13
【问题描述】:
我怀疑下一个技术解决方案的正确架构应该是什么。 我需要通过读取 QR 码在移动应用程序中对用户进行身份验证,该用户之前在 Web 应用程序中进行了身份验证。
该用例包括用户使用位于 Intranet 中的 Web 应用程序,但需要能够从将连接到 Internet 的移动设备上传图像。 移动应用程序将使用通过 API 网关在互联网上公开的公共 API。 API 网关将连接到后端以上传图像。 作为要求,当用户需要使用移动设备拍摄和上传图像时,他们不应再次进行身份验证,因为他们在 Web 应用程序中有一个打开的会话,只需使用 QR 码对设备进行身份验证。从逻辑上讲,QR 不会使用用户的凭据。
我的想法是使用 Oauth 2.0 和以下流程来验证移动设备:
- Web 应用程序请求 API Gateway 生成授权令牌,并以 UUID 进行响应。
- Web 应用程序将使用从 API 网关接收到的 QR 显示授权令牌。
- 移动设备将读取 QR,并使用授权令牌向 API 网关请求访问令牌。
- API 网关验证授权令牌并生成返回给移动设备的访问令牌。
- 移动设备使用访问令牌调用公共 API(API 网关)。
我的问题是它是否是正确的方案,还是有另一种标准的解决方案。
谢谢!!
【问题讨论】:
标签: java android security authentication oauth-2.0