如何认证第三方开发人员通过oAuth 2.0访问API?

如何认证第三方开发人员通过oAuth 2.0访问API?,api,rest,oauth,oauth-2.0,Api,Rest,Oauth,Oauth 2.0,假设我的产品有一个可工作的RESTAPI 我只想让注册此产品的开发人员访问。此外,将有多个可用的计划,因此API的某些部分无法在免费计划中访问 从授予类型来看,我只看到了客户端凭据,其中一个似乎是最接近的解决方案。但是,这不会验证存储在我的产品数据库中的开发人员帐户,它只会获取该客户端的访问令牌。用户本身不会真正“登录”。此外,根据我看到的实现,每个人都可以重用单个客户机 我看到的唯一方法是创建一个自定义授权类型,方法是向客户端凭据类型(属于开发人员帐户)添加一个额外的api_密钥 对于现有的补

假设我的产品有一个可工作的RESTAPI

我只想让注册此产品的开发人员访问。此外,将有多个可用的计划,因此API的某些部分无法在免费计划中访问

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

我看到的唯一方法是创建一个自定义授权类型,方法是向客户端凭据类型(属于开发人员帐户)添加一个额外的api_密钥


对于现有的补助金类型,有没有办法做到这一点?引入自定义类型对很多现成的oAuth2库都不起作用,我不想给开发人员带来修改它们的麻烦。

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

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


因此,似乎您必须做的是:(1)在向开发人员颁发一对客户ID和客户机密时对开发人员进行身份验证;(2)激励开发人员不要向其他人泄露客户机密。

在颁发客户ID/secret之前,如何对开发人员进行身份验证?