我正在使用 Laravel 开发一个 Web 应用程序,但我将来必须集成移动应用程序。现在我想通过 API 身份验证护照。我有点困惑 Passport API 如何处理来自多个用户和权限系统的多身份验证系统。目前,我使用 Laravel 默认身份验证来处理用户。是否有使用 API 身份验证护照的 Laravel 多重身份验证库?
关于 Passport,您必须了解的一点是它只不过是 oAuth2 框架的 Laravel 包装器,特别是这个实现:https : //github.com/thephpleague/oauth2-server
因此,您必须了解不同的 oAuth2 授权类型是如何工作的。我建议阅读 oAuth2 以熟悉这些概念(我个人发现这个网站对理解不同的授权类型最有帮助:http : //www.bubblecode.net/en/2016/01/22/understanding- oauth2/ )。
具体到您的问题,请查看用于移动应用程序的密码授予令牌 ( https://laravel.com/docs/5.6/passport#password-grant-tokens )。一旦你拥有你的令牌,Laravel 会在后台处理所有的身份验证,你可以Auth::user()
像往常一样使用,假设你已经正确设置和配置了 Passport;用户与令牌绑定,独立于任何其他令牌和任何登录用户。
至于权限系统,Passport 使用范围(https://laravel.com/docs/5.6/passport#token-scopes),这是一种限制令牌可以访问的路由的便捷方式。除此之外, 的权限管理Auth::user()
与使用您的应用程序的任何其他用户相同。
编辑:
护照作用域用于锁定路由,因此可以使用它们。然而,Passport 只关心认证(即这个用户是否有效)而不关心授权(即这个用户能做什么)。您如何授权用户做不同的事情 100% 独立于 Passport,并且取决于您的 Web 应用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句