Laravel auth vs Passport vs Sanctum
Posted
技术标签:
【中文标题】Laravel auth vs Passport vs Sanctum【英文标题】: 【发布时间】:2020-07-25 11:55:54 【问题描述】:Laravel auth
、Passport
和 Sanctum
之间有什么区别以及它们何时使用?
【问题讨论】:
【参考方案1】:Passport provides
在几分钟内为您的Laravel application
提供完整的OAuth2
服务器实现。因此有必要对OAuth2
有一个简单的了解。
Sanctum
这是一个简单的软件包,可以向您的用户发出API tokens
,而没有OAuth
的复杂性。 Sanctum 使用Laravel's
内置cookie
基于session
认证服务。
在小型应用程序中使用 Sanctum。简单易行
Auth
(Authentication
) 是识别用户凭据的过程。在 Web 应用程序中,身份验证由会话管理,会话采用电子邮件或用户名和密码等输入参数进行用户识别。如果这些参数匹配,则称用户已通过身份验证。
参考:
Auth Passport vs Sanctum希望对你有帮助..
谢谢。
【讨论】:
我要补充一点,Sanctum只能在API和SPA在同一个域名下使用。虽然 Passport 可以在不同的域名之间使用,但是 SPA 的用户需要被重定向到 Laravel 才能登录,然后才能被重定向到 SPA。如果我错了,请纠正我。【参考方案2】:对我来说,Sanctum 是一个轻量级的身份验证系统,用于在与 API 相同的域下的 SPA 中。而 Passport (OAuth2) 允许从 SPA 登录到另一个域,并且用户被重定向到后端进行登录,这复杂。 Token 和 JWT 似乎更老,更困难。
【讨论】:
以上是关于Laravel auth vs Passport vs Sanctum的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Passport:auth:api 的行为类似于 auth:web
Laravel 55 - Passport & Vue - auth/login/logout
方法 Illuminate\Auth\RequestGuard::logout 不存在 Laravel Passport
Laravel Passport "auth:api" 中间件充当 "web, auth" 中间件