【问题标题】:Uber API credentials disclosureUber API 凭据披露
【发布时间】:2016-11-23 09:04:51
【问题描述】:

我想制作一个使用 Uber API historyrequests-details 端点的 AngularJS 应用程序(根本没有服务器端代码)。

据我了解的文档,我需要首先使用 OAuth2 并获取访问令牌,client_secret 是必需的。

因为它是一个客户端应用程序,所以 client_secret 可以被任何用户看到(容易与否)。

我试图了解暴露 client_secret 的影响,但我从文档中找不到任何不好的地方。
如果没有持有者令牌,似乎没有任何 client_secret 端点会做任何有害的事情。

【问题讨论】:

    标签: uber-api


    【解决方案1】:

    客户端密钥是 oauth 服务器和客户端应用程序之间的共享密钥。任何拥有应用程序客户端密码的人都可以代表该应用程序。因此,如果它被泄露,恶意应用程序可以:

    • 以您的应用为幌子向用户请求权限
    • 已将您的应用列入白名单的请求范围(例如“请求”范围)
    • 使用客户端凭据授予流程 (https://www.rfc-editor.org/rfc/rfc6749#section-1.3.4) 为您的应用程序请求访问令牌
    • 作为您的应用程序执行其他恶意活动

    【讨论】:

    • 是的,但这更多是针对 uber api 的问题,而不是一般的 OAuth。第1点;我没有在文档中找到任何应​​用程序可以在没有 OAuth Bearer 令牌本身的情况下请求用户的任何内容。第2点;我将使用的范围可用于任何其他应用程序。第 3 点;不确定我是否理解这个,但它似乎不适用于“桌面”应用程序。此外,即使他们使用我的应用程序 ID 将用户定向到 OAuth,重定向也不会返回到他们的页面,因为重定向 URL 也已配置(我相信)
    猜你喜欢
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多