我是否应该避免使用Laravel Breeze,而直接使用Passport来开发我的Laravel API?还是两者都要一起使用?

5
我正在开发一个需要用户身份验证的应用程序。
(到目前为止,我一直在构建单体应用程序。这是我第一次尝试构建与前端完全解耦的后端。)
后端是一个Laravel API,前端将是独立存储库中的React应用程序。
我应该使用Laravel Passport而不是Laravel Breeze吗?还是它们应该一起使用?我从未使用过前者。
我应该重构我的项目并删除所有Breeze代码以便改用Passport吗?
3个回答

5
Laravel Breeze并不适用于API开发。但这并不是说它不能用于API,你可以使用breeze-api扩展包,该扩展包提供了Breeze认证功能的所有样板代码,可用于API开发。
Passport是完整的OAuth工作流认证提供程序。如果您只是想为自己的SPA或移动应用程序提供身份验证,则可能会带来更多麻烦。如果不需要OAuth,则比起Passport,Laravel Sanctum更适合你。

3
你应该使用 Laravel Sanctum 来实现这个功能。 Laravel Breeze 是基本的身份验证功能。

请添加更多细节以扩展您的答案,例如工作代码或文档引用。 - Community

2

移除 Laravel Breeze 并安装 Laravel Sanctum 和 Laravel Fortify。

如果您的应用程序运行在相同的域名或子域名上,Sanctum 将使用 Laravel 的 Web 认证守卫(基于会话和 cookie 的身份验证)。

如果不是,则 Sanctum 将在您的授权标头中查找有效的令牌。

Fortify 将实现 Laravel 的所有身份验证功能。这样,您就可以设置登录、注册、密码重置等所有端点。您可以轻松地定制这些方法及其响应。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接