Laravel Sanctum vs Passport [关闭]

Posted

技术标签:

【中文标题】Laravel Sanctum vs Passport [关闭]【英文标题】:Laravel Sanctum vs Passport [closed] 【发布时间】:2020-07-03 21:01:51 【问题描述】:

这两个有什么区别?哪个更适合简单的 VueJS 应用程序? 我已经阅读了他们的文件几次,但仍然感到困惑。 非常感谢。

【问题讨论】:

【参考方案1】:

Passport 在几分钟内为您的 Laravel 应用程序提供完整的 OAuth2 服务器实现。因此有必要对 OAuth2 有一个简单的了解。

Sanctum 是一个简单的软件包,可以向您的用户颁发 API 令牌,而无需复杂的 OAuth。 Sanctum 使用 Laravel 内置的基于 cookie 的会话认证服务。

在小型应用程序中使用 Sanctum。简单易行。

【讨论】:

为什么只在小型应用程序中使用 Sanctum? @louis_coetzee 因为小型应用程序(例如 SPA)通常只需要简单的基于令牌的身份验证方法...护照为您提供完整的 oauth“频谱”...允许您实现多种身份验证方法 @CodeChuck 假设有 2 个应用程序:应用程序 1 处理客户端中已经存在的人力资源开发 (HRD),而我正在开发应用程序 2,处理客户中每个员工的绩效管理系统客户。我的应用程序(应用程序 2)将提供可由应用程序 1 使用的 API,即应用程序 1 可以将员工记录发布到我的应用程序(发布/放置请求)以及从我的应用程序检索绩效数据(获取请求)。 Sanctum 是否适合此类应用程序?我已经阅读了 Passport (OAuth 2) 和 Sanctum,但仍然不确定我会选择哪一个。 @LexSoft 作为原始问题附带的警报,它基于每个开发人员的意见。就像你说的那样,我会选择 sanctum,因为你的 api 只有一个客户端(应用程序 1)......但是假设你的客户/公司将来想要一个移动应用程序并想要多个身份验证选项(社交、电子邮件、电话)......然后我会带着护照去......再次,这是我的意见......我建议在测试项目中尝试两者以获得更好的想法 @CodeChuck 我的 API 可能会被多个应用程序使用。因此,我阅读的推荐方法是使用 Passport 中提供的带有 PKCE 的授权代码授予。而当我们不想通过典型的授权代码重定向流程时,Sanctum 方法就像 Passport 提供的个人访问令牌一样。后一种方法提供了客户可能更喜欢的某种程度的便利,但它可能容易受到安全漏洞的影响。好吧,我需要考虑几件事。感谢您的回复。

以上是关于Laravel Sanctum vs Passport [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 CSRF 令牌与 Laravel 和 Sanctum 不匹配?

Laravel Sanctum 无法使用 Postman 登录

如何使用 CSRF 令牌测试 Laravel / Sanctum 端点

Laravel Sanctum auth:sanctum 路由允许在没有承载令牌的情况下访问

Laravel Sanctum 令牌()未定义

带有 Sanctum 身份验证的 Laravel 8 (Reactjs SPA)