将客户端密钥,ID和令牌存储在react应用程序中

时间:2017-01-08 10:43:49

标签: laravel reactjs laravel-passport

我在后端使用Laravel创建应用程序并在前端创建反应应用程序,并且我使用Passport的密码授予类型来保护连接。但问题是我不知道如何安全地存储客户端密钥,ID甚至访问令牌。感谢。

3 个答案:

答案 0 :(得分:1)

这取决于您使用的客户(axios,superagent等),但您需要修改护照文档的这一部分: https://laravel.com/docs/master/passport#consuming-your-api-with-javascript

您需要确保准备好以下中间件:

'web' => [
    // Other middleware...
    \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],

并且您的javascript异步客户端设置为在每个请求上发送以下内容:

'X-CSRF-TOKEN', Laravel.csrfToken

我不知道您是否真的希望在前端存储客户端密钥,ID和访问令牌。你说你想把它安全地存放在前端,这通常被认为是不可能的,除非我误解了这个问题

答案 1 :(得分:0)

您可以使用这些简单的库在您的反应应用中存储用户的ID和访问令牌:

1)senchalabs/connect

2)session-manager

3)session

4)session-storage

答案 2 :(得分:0)

使用Implicit Grant Tokens怎么样?它们不需要存储客户端凭据。