【问题标题】:Is there any library file for laravel multi-auth using API Authentication (Passport)?是否有任何用于使用 API 身份验证(护照)的 laravel 多身份验证的库文件?
【发布时间】:2019-01-05 04:51:36
【问题描述】:

我正在使用 Laravel 开发一个网络应用程序,但我将来必须集成移动应用程序。现在我想申请 API 身份验证护照。我有点困惑护照 API 如何处理来自多个用户和权限系统的多身份验证系统。目前,我正在使用 Laravel 默认身份验证来处理用户。是否有任何使用 API 身份验证护照的 Laravel 多身份验证库?

【问题讨论】:

    标签: php laravel mysqli


    【解决方案1】:

    关于 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 的,并且取决于您的网络应用程序。

    【讨论】:

    • 我已经为不同的用户和管理员实现了多重身份验证。现在,如果我安装护照 API 并使用 Passport 范围设置角色,那么它将起作用,或者我应该再次为 Passport 实现多重身份验证?
    • 护照范围用于锁定路线,因此可以使用它们。然而,Passport 只关心身份验证(即这个用户是否有效)而不关心授权(即这个用户能做什么)。您如何授权用户做不同的事情是 100% 独立于 Passport 的,并且取决于您的网络应用程序。
    猜你喜欢
    • 2019-06-14
    • 1970-01-01
    • 2018-08-31
    • 2019-05-21
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    相关资源
    最近更新 更多