作者:patrick0129_645 | 来源:互联网 | 2024-10-08 14:25
问题
刚看完Laravel Passportd的中文文档,已经了解它的用法,但对于其中许多概念的设计思想、使用场景还是很难理解。诸多疑惑,希望能得到解答,感谢!
Client
对于这个Client,一开始就看懵了,OAuth对于Client的解释是:
An application which accesses protected resources on behalf of the resource owner (such as a user). The client could be hosted on a server, desktop, mobile or other device.
这段话的意思是否是一个Client对应一个应用终端(比如QQ的APP、Web、PC端)?(Client > User的层级关系)
还是说Client类似于各大开放平台中创建的一个appid?(User > Client的层级关系)
如果是前者,为什么会出现/oauth/clients这种允许所有用户自由管理Client的接口?Client不是应该完全由开发者管理吗?
如果是后者,为什么自己创建的Client能被其他用户用于授权?
Client究竟为什么要与User关联?网上看到有人说这个User相当于管理员的角色,既然是管理员,肯定有权限相关配置,但我并没有在文档中找到相关说明,现在是所有用户都能管理Client。
关于这个Clinet,是否有实际的应用场景可以参考?
Secret
为什么密码授权也需要传入Secret?直接用帐号密码授权登录有什么安全问题?