【发布时间】:2021-01-24 22:05:26
【问题描述】:
我正在尝试了解 OAuth2 及其宏大类型。我只是想知道使用 REST API 授权无浏览器应用程序(例如作业)的专有授权类型流程是什么。
authorization_code 和implicit flow 需要用户交互(在浏览器中写入用户名和密码),因此两者都不适合无浏览器授权。
client_credentials 可以工作,但是授权过程中没有用户,那么如果 REST API 需要知道用户来检查权限/角色/范围,会发生什么?也许为每个用户创建一个客户端可以工作,但听起来很糟糕。
passwordgrant 类型将在 OAuth2.1 规范中被弃用,因此这不是一个选项。
您可能认为 OAuth2 不是在这种情况下使用的框架,因为您不需要授权委托,但是如果您同时拥有两者(这很常见),您可以在其中委托授权的单页应用程序怎么办还有一个 REST API。使用 Oauth2 授权 REST API 的正确方法是什么?
【问题讨论】: