【问题标题】:Laravel sanctum token after Authorization授权后的 Laravel sanctum 令牌
【发布时间】:2020-07-04 01:03:10
【问题描述】:

我在我的项目中使用 Laravel Sanctum。 我创建了中间件来为每个 API 请求添加授权标头(承载令牌)。身份验证用户有令牌,但它在数据库中进行了哈希处理。我想为下一个请求发送令牌(已授权)。如何获取经过身份验证的令牌值(如 JWT 令牌)?

【问题讨论】:

标签: laravel-7 laravel-sanctum


【解决方案1】:

你 cab 从这样的标题中捕获令牌

        $token = null;
        $headers = apache_request_headers();
        if (isset($headers['Authorization'])) {
            if (strpos($headers['Authorization'], 'Bearer') !== false) {
                $token = str_replace('Bearer ', '', $headers['Authorization']);
            }
        }

【讨论】:

    【解决方案2】:

    您只能在首次创建 plainTextToken 时获取它。一旦它被创建,就没有办法再次获得它。它在令牌/创建响应正文中返回。捕获它并且不要丢失它,这将是该用户与您的避难所保护路线进行通信/验证的唯一方式。创建后,哈希(不可解密)版本将保存到数据库中。您从 tokens/create 方法保存的纯文本令牌经过哈希处理并与之进行比较以确认用户的身份。与 JWT 不同,您不会在创建后获得相同令牌的新迭代。

    在此处查看更多信息:https://laravel.com/docs/8.x/sanctum#issuing-api-tokens

    【讨论】:

      猜你喜欢
      • 2020-08-08
      • 2021-07-02
      • 1970-01-01
      • 2022-08-07
      • 1970-01-01
      • 2021-10-01
      • 2021-01-14
      • 1970-01-01
      • 2021-06-04
      相关资源
      最近更新 更多