【问题标题】:How do you authenticate a third party developer to access your API via oAuth 2.0?您如何验证第三方开发人员以通过 oAuth 2.0 访问您的 API?
【发布时间】:2015-11-26 21:40:58
【问题描述】:

假设我的产品有一个可用的 REST API。

我只想向注册此产品的开发人员授予访问权限。此外,还将提供多个计划,因此 API 的某些部分无法在免费计划中访问。

从我只看到客户端凭据的授权类型来看,其中一种似乎是最接近的解决方案。但是,这不会验证存储在我的产品数据库中的开发人员帐户,它只会获得该客户端的访问令牌。用户本身实际上不会“登录”。此外,根据我看到的实现,每个人都可以重用单个客户端。

我看到的唯一方法是创建自定义授权类型,方法是向客户端凭据类型添加额外的 api_key,该类型与开发人员帐户有关。

有没有办法使用现有的授权类型来做到这一点?引入自定义类型不适用于许多开箱即用的 oAuth2 库,我不想给开发人员带来修改它们的麻烦。

【问题讨论】:

    标签: api rest oauth oauth-2.0


    【解决方案1】:

    我认为您不必发明自定义授权类型。

    每个人都可以重复使用单个客户端只有在每个人都知道客户端密码的情况下

    因此,您似乎需要做的是 (1) 在您向开发人员颁发一对客户端 ID 和客户端密码时对开发人员进行身份验证,以及 (2) 激励开发人员不要将客户端密码泄露给其他人。

    【讨论】:

    • 在颁发 client_id/secret 之前如何对开发者进行身份验证?
    猜你喜欢
    • 2017-02-18
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2020-09-04
    相关资源
    最近更新 更多