假设我的产品有一个可用的REST API。
我想仅向注册此产品的开发者授予访问权限。此外,还有几个计划可用,因此无法在免费计划中访问API的某些部分。
从授权类型中我只看到客户端凭证似乎是最接近的解决方案。但是,这不会对我的产品数据库中存储的开发人员帐户进行身份验证,它只会获得该客户端的访问令牌。用户实际上无法登录'本身。除此之外,根据我见过的实现,每个人都可以重复使用单个客户端。
我看到的唯一方法是通过向客户端凭据类型添加额外的api_key来创建自定义授权类型,该类型与开发者帐户相关。
有没有办法用现有的授权类型做到这一点?引入自定义类型不适用于许多开箱即用的oAuth2库,我不想给开发人员带来修改它们的麻烦。
答案 0 :(得分:0)
我认为您不必发明自定义授权类型。
只有当每个人都知道客户端密码 时,每个人 才能重复使用单个客户端。
因此,您需要做的是(1)在向开发人员发出一对客户端ID和客户端机密时对开发人员进行身份验证,以及(2)激励开发人员不要泄露客户端的秘密其他