我正在使用Laravel Passport(Laravel 5.6),并使用了密码授予功能。我有两个客户:app
和cms
。我希望cms
客户端能够读取,写入和删除。 app
客户端应该只能阅读。
为什么不为此使用范围?因为app
客户端将具有其用户名和密码以及作用域请求(采用硬编码)。因此,从理论上讲,它可以反编译并更改scope
。
所以我需要根据客户限制行为。 Laravel Passport是否有可能?
答案 0 :(得分:0)
如果您的应用具有用户名/密码,则意味着您可以对用户(应用程序)进行身份验证并分配权限/角色策略,您应该选中此https://laravel-news.com/two-best-roles-permissions-packages
如果要实现作用域,请记住它们并不像oauth2中那样直接应用于用户,基本上您是在授予应用程序代表用户访问某些资源的权限,请检查此答案Laravel Passport Scopes >
因此,您可以尝试进行授权流程,基本上,每次客户端需要某个特定范围时,它都会向用户请求授权,就像权限更改时的任何应用程序一样。