【问题标题】:Sharing refresh tokens and client Ids共享刷新令牌和客户端 ID
【发布时间】:2017-10-27 16:14:07
【问题描述】:

这个问题可能已经被问过了,但我在refresh_token分享上没有看到太多信息。

所以我们使用Azure Native API to Web API 场景来验证用户。 我的客户端机器将有一个 python 脚本,执行时将验证用户并生成access_tokenrefresh_token。为此,脚本具有本机应用程序的client_id(本机应用程序不需要client_secret)。一旦通过身份验证,我们就可以使用令牌访问 web-api。

问题:由于客户端应用程序拥有所有这些信息,如果用户侵入代码并获得对client_idaccess_tokenrefresh_token 的访问权限,他是否可以使用它们来生成令牌和访问网络 API?

虽然我们将access_token 缩短为 10 分钟,但如果他掌握了client_idrefresh_token,他可以生成他想要的任意数量的令牌并访问 Web API。来自一台机器的refresh_token 是否可以在另一台机器上工作。我找不到任何来自 Microsoft 的文档说 refresh_tokens 绑定到基于 IP 或 MAC 或其他东西的机器

【问题讨论】:

    标签: oauth-2.0 azure-active-directory azure-ad-b2c


    【解决方案1】:

    这些就是他们所说的不记名令牌。如果令牌被黑客入侵,则没有安全性。 Bearer 令牌必须通过 ssl 传输并安全存储。

    【讨论】:

    • 安全存储?客户端应用程序位于客户端计算机上,那么我们如何安全地存储它?这是我的担心
    • 请参阅“OAuth 2.0 威胁模型和安全注意事项”RFC,特别是“威胁:获取刷新令牌”部分 tools.ietf.org/html/rfc6819#page-17
    • 每个平台都有推荐的存储来存储令牌。如果是网络浏览器,localstorage 很好。
    猜你喜欢
    • 2016-12-17
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 2018-12-29
    • 2020-08-27
    • 1970-01-01
    • 2020-08-25
    • 2016-03-22
    相关资源
    最近更新 更多