使用Laravel Passport和React Frontend App进行身份验证

时间:2019-06-12 10:13:01

标签: reactjs laravel cookies redux

我仍然对我的身份验证逻辑有疑问,我想检查这是否是最好的方法,或者还有其他更好且安全的方法可以遵循。 从理论上讲,我了解OAUTH2的一般方面,但是我并不聪明,并且看不清所有内容。因此,我的下面方法可能是错误的。

在应用程序中,登录Laravel API返回由Passport生成的访问令牌以及其他数据。我将此访问令牌保存在Redux中,每次发出请求时都将其发送到服务器。 但是,完全重新加载了应用程序后,我又回到了登录页面。由于完全重载会重置包括令牌的Redux状态,所以我希望如此。

要解决此问题,我使用react-cookies的方式是:

1-用户登录

2- API返回响应。

3-将响应保存在Redux中。

4-使用react-cookies将访问令牌保存在浏览器中。

5-并且每次应用程序启动时,它都会检查cookie中是否有令牌,如果是,则认为该用户已登录。

6-我认为对我来说,下一步是创建一个API,该API接受参数令牌并返回用户详细信息以将其保存在Redux中。 (我尚未执行此步骤,所以如果可能的话我现在不会执行,并且不会出现问题)

到目前为止,一切正常,但是从总体上讲,我想与您确认这是否是使用Laravel API和React进行身份验证的正确方法之一?难道我做错了什么 ?我知道有很多方法和方法。

1-我想以一种特定的方式询问是否可以在登录响应中使用set cookies来保存令牌,而不使用react-cookies吗?可能吗 ?而且更好吗?

2-我的应用程序的安全性如何?是否必须将CSRF用作元数据以确保其安全,还是仅使用访问令牌就足够了?

3-令牌过期了吗?我是否应该创建一个名为check_session_status的API来检查用户的令牌是否过期?

React App是一个隔离的应用程序,我不是用Laravel脚手架生成的,而是使用fetch来调用端点。 (不是axios)

感谢您的时间!

0 个答案:

没有答案