【问题标题】:Store client secret, id and token in a react app在 React 应用程序中存储客户端密码、ID 和令牌
【发布时间】:2017-05-22 18:11:15
【问题描述】:

我正在使用 Laravel 在后端和 create-react-app 在前端制作应用程序,并且我正在使用 Passport 的密码授权类型来保护连接。但问题是我不知道如何安全地存储客户端密码、ID 甚至访问令牌。谢谢。

【问题讨论】:

  • 你在你的 react 应用中使用 redux 吗?
  • 是的,我正在使用 redux

标签: laravel reactjs laravel-passport


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这取决于您使用的客户端(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 和访问令牌。你说你想把它安全地存储在前端,这通常被认为是不可能的,除非我误解了这个问题

    【讨论】:

      【解决方案3】:

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

      1)senchalabs/connect

      2)session-manager

      3)session

      4)session-storage

      【讨论】:

        猜你喜欢
        • 2019-11-03
        • 2016-04-14
        • 2018-04-25
        • 1970-01-01
        • 1970-01-01
        • 2016-08-11
        • 2022-08-19
        • 1970-01-01
        • 2019-05-17
        相关资源
        最近更新 更多