【问题标题】:Where to store API access token?在哪里存储 API 访问令牌?
【发布时间】:2019-05-06 07:44:42
【问题描述】:

我正在使用一个 API (https://developers.gfycat.com/api/),它使用典型的 OAuth 流程来授予开发人员对 API 请求的访问权限。通过在我的代码中手动插入值,我能够成功地模拟获取访问令牌并在 API 请求中使用它的整个过程。现在我的所有活动部件都已成功运行,我正在尝试将所有部件放在一起并有一些问题:

对 API 访问令牌的成功请求如下所示:

{"token_type":"bearer","scope":"","expires_in":3600,"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NDM5NTIzOTEsImlzcyI6IjJfWldiaktHIiwicm9sZXMiOlsiQ29udGVudF9SZWFkZXIiXX0.SFdMGS8J_KP7pM2H33eu3l6ip2-8PkVHM4VTZzxTWyw"}
  1. 最好在应用启动时检索访问令牌,然后将访问令牌存储在某处,然后每次我尝试发出 API 请求时,确保在尝试之前捕获任何“访问令牌已过期”错误检索访问令牌?或者每次我发出 API 请求时都简单地请求 access_token 是否可以接受,即使它非常频繁?

  2. 如果我决定走那条路,我应该将 access_token 字段存储在我的应用中的什么位置?

【问题讨论】:

    标签: android rest api android-webservice


    【解决方案1】:
    1. 在数据库表中创建一列来保存令牌,但是有点烦人 因为每次需要更新令牌时,都必须再次写入数据库。
    2. 你可以搜索“Redis”,我认为它可以帮助你更适合保存令牌

    【讨论】:

    • 我不会为这些解决方案而烦恼。如果您不需要任何更安全的东西(我不知道在设备上存储什么),只需使用 SharedPreferences。键值对要简单得多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 2020-06-17
    • 2017-01-21
    • 2021-03-12
    • 2018-03-20
    • 1970-01-01
    相关资源
    最近更新 更多