android - 处理来自后端作业的 Oath 2.0 授权
问题描述
我正在尝试解决以下问题:
要求
- 存在允许用户添加集成提供程序的应用程序
- 这些集成提供商使用 oath 2.0 授权来保护他们的数据
- 该应用程序需要能够让后端作业每天一次代表用户获取数据
- 提取的数据被提取并合并到为用户在应用程序上编译的报告中
问题
- 来自后端作业的用户委托访问令牌- 我无法找到允许我拥有代表用户的有效访问令牌而无需从应用程序端生成访问令牌的解决方案
我试过的
- 刷新令牌- 我尝试过使用刷新令牌不断获取新访问令牌的方法,但这种解决方案很脆弱,因为可能存在新令牌未及时生成或由于某种原因用户仍然存在的情况需要重新验证与提供者的连接
- 自动浏览器流程- 我尝试使用应用程序中提供的已保存凭据从后端自动执行用户的身份验证流程。这种方法只是粗略的、昂贵的,并且需要在用户协议方面进行大量工作,以确保在后端完成的工作已经得到用户的同意,这基本上重新发明了身份提供者应该已经获得的用户同意的轮子处理
解决方案
我们可以为此使用 JWT。通过使用 JWT,我们将创建一个令牌并保存到数据库中,并且在每次请求时,它都会解密令牌并从令牌中获取所需的数据。
链接 - https://jwt.io/
推荐阅读
- xamarin.forms - Xamarin iOS,用于捆绑资源的 FileNotFound
- python - 如何确保以 UTF-8 编写输出 JSON 文件?
- java - 如何计算字符串中数字的连续总和?
- sql - 如何返回每匹马的最后 9 个结果
- c++ - 如果使用 unordered_set,O(NLogN) 显示比 O(N) 更好的性能
- c++ - 为什么我通过 boost::unique 得到 No error exception
- javascript - 如何选择 Animatedmodal 以使用一个 ID 显示不同的演示
- node.js - 单个应该查询块中的多个条件
- salesforce - 基于选项列表值的公式字段
- c# - 为什么调用 Properties.Settings.Default.Saved() 后我的用户设置没有保留?