首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择正确的授权类型

选择正确的授权类型
EN

Stack Overflow用户
提问于 2018-07-20 03:54:16
回答 1查看 47关注 0票数 1

我正在阅读有关OAuth 2的文章,我找到了下面这篇文章,它有助于决定我应该实现哪个授权。

https://oauth2.thephpleague.com/authorization-server/which-grant/

我对链接中描述的流程图有一些问题。

1)当访问令牌所有者是机器时?如果访问令牌所有者是在服务器上运行的cron作业,我可以说访问令牌所有者是一台机器吗?

2)什么时候访问令牌是用户?如果客户端用户是人类(最终用户),我可以说访问令牌所有者是用户吗?

3)什么是Web App?应用程序是否在服务器上运行并可通过web客户端访问?例如,PHP应用程序。

4)什么是基于用户代理的App?使用JS开发的应用程序是否类似于Angular应用程序?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-07-20 17:13:20

我浏览了上面提到的文档,下面我尝试将中定义的原始授权类型与之对应起来。

1)当访问令牌所有者是一台机器时?如果访问令牌所有者是在服务器上运行的cron作业,我可以说访问令牌所有者是一台机器吗?

在这里,令牌不一定颁发给机器,也不一定属于机器。它可以是在没有终端用户交互但需要OAuth 2.0令牌的机器上运行的应用程序。正如您所说的,这可能是一个具有OAuth 2.0客户端凭据的cron作业。此客户端必须是机密客户端,这意味着它必须具有客户端id和密码。有关更多信息,请参阅here

2)什么时候访问令牌是用户?如果客户端用户是人类(最终用户),我可以说访问令牌所有者是用户吗?

是的这是正确的。在这里,访问令牌归最终用户所有。并且最终用户通过允许客户端使用访问令牌来授予客户端应用访问OAuth 2.0资源的权限。

3)什么是网络应用程序?应用程序是否在服务器上运行并可通过web客户端访问?例如,一个PHP应用程序。

根据图表透视图,web应用程序可以利用用户代理(浏览器)来完成授权请求,并具有能够获得令牌的后端。重点放在后端令牌请求上,因为并非所有应用程序都可以执行此请求。例如,没有后端的单页面应用程序不能执行此调用。因此,如果PHP应用程序可以执行后端调用,那么它就是一个Web应用程序。流是授权码流。

4)什么是基于用户代理的应用程序?使用JS开发的应用程序是否类似于Angular应用程序?

是的这是正确的。它没有后端(它可能会消耗一个后端),但依赖于JS并在浏览器上运行。因此,它将主要使用隐式流(但如果最终用户信任,则最终用户密码授予,如下所示)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51430778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档