如何解决Laravel 8:在API中使用Fortify
Laravel Fortify是否可以在API上下文中使用?据我了解,Fortify(虽然没有头,但没有UI层)允许我们自定义“登录”和“注册”页面,但在成功通过身份验证后会自动重定向到“首页”页面。而且尽管HOME页面是可自定义的,但API登录通常无法正常工作。它应该简单地以JSON格式返回成功令牌,而不进行任何类型的重定向。
Fortify中有一个authenticateUsing
函数,但是即使如此,它也仅允许我们自定义身份验证逻辑,而不是返回的数据。重定向仍由Fortify执行。
如何在REST API的上下文中使用Fortify?
注意:我将在Vue前端应用程序中使用它。我还将加入《 ,但是在此之前,我只想看看我是否可以使用Fortify进行基于令牌的常规身份验证,而不必编写自己的登录,注册和注销路线和控制器功能。
解决方法
身份验证可以基于会话或基于令牌。
Laravel Fortify仅为基于会话的身份验证提供后端逻辑功能,因此不适用于基于令牌的API身份验证。
如果您需要基于令牌的API身份验证,则可以根据需要使用 Sanctum 或 Passport 。但是,无论哪种情况,您都必须编写一些代码。
如果您决定使用Laravel Passport,我有一个可能有用的样板项目:https://github.com/pktharindu/laravel-api-boilerplate-passport
,只需将'Accept'标头设置为'application / json'或'application / javascript',然后设防将响应json格式的主体,而不重定向。
顺便说一句,使用Sanctum代替Passport for SPA更容易安全地保存令牌。 google有关在何处存储SPA的API令牌的信息,然后您会找到原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。