gpt4 book ai didi

javascript - 如何为从移动和 JavaScript Web 应用程序访问的 rest API 实现基于 token 的 OAuth 2.0 身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:38:24 25 4
gpt4 key购买 nike

我需要为我的 REST API 实现身份验证和授权机制。这是从移动应用程序和 Web 应用程序访问的 rest api。

我想实现的机制:
因此,据我了解,我正在使用基于密码的身份验证。移动应用程序或 javascript Web 应用程序通过 HTTPS post 请求发送用户名和密码,以在有限的时间内获取访问 token 。

问题

  1. 因为访问 token 每 1 小时左右就会过期一次。再次要求最终用户输入用户名和密码。这是 Not Acceptable 。
  2. 如果我们将 token 的时间延长更长的时间,那么如果有人掌握了 token ,他们就可以更长时间地访问 Rest API。由于 Web 应用程序是 javascript 应用程序,因此它很容易在计划文本中获得。

因此,我试图了解 facebook 和 twitter 等应用程序如何为其 native 移动应用程序实现授权。他们是否通过存储在本地存储中永远记住访问 token 。这样,如果某些恶意应用程序具有 root 访问权限,Android 手机就可以访问 token 。

上述机制有哪些改进,使其既适用于使用 javascript 开发的独立 Web 应用程序,也适用于 android 应用程序?

最佳答案

访问 token 确实是短暂的。为了长期保持授权,OAuth2 有一种叫做“刷新 token ”的东西。

如果提供者支持它(谷歌和 Facebook 都支持),OAuth2 消费者可以在初始流程中请求除了访问 token 之外的刷新 token (我相信谷歌称之为“离线访问”)。访问 token 正常使用,但当它过期时,消费者可以使用其凭据和刷新 token 请求新的访问 token 。

有关更多信息,请参阅 Google 文档:https://developers.google.com/accounts/docs/OAuth2WebServer#offline .

关于javascript - 如何为从移动和 JavaScript Web 应用程序访问的 rest API 实现基于 token 的 OAuth 2.0 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24560610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com