php - Laravel JWT - 使用 Javascript 使用你自己的 API

标签 php laravel jwt

我正在使用 Laravel 5.6 和 jwt-auth用于 API 身份验证。它背后的想法很简单:

  1. 您发送带有用户凭据的 HTTP POST 请求,如果成功则获取“access_token”。
  2. 每个后续请求都应使用 header “Authorization: Bearer {access_token}”发送。

如果消费者来自外部(例如 Android 应用程序),则此步骤很酷且灵活。

但如果 API 消费者是我自己的 JavaScript 呢?即使在我的网络中间件中已经知道经过身份验证的用户,我是否也应该在启动每个异步请求时登录?人们通常如何管理它?

通过 Passport (OAuth2.0),Laravel 提供了一个中间件,它可以注入(inject)带有授权 token 的 cookie,从而使这个过程自动且简单:

Typically, if you want to consume your API from your JavaScript application, you would need to manually send an access token to the application and pass it with each request to your application. However, Passport includes a middleware that can handle this for you. All you need to do is add the CreateFreshApiToken middleware to your web middleware group in your app/Http/Kernel.php file:

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

Read more .

如何使用 JWT (tymondesigns/jwt-auth) 并在不显式传递访问 token 的情况下向我自己的应用程序的 API 发出请求?

最佳答案

如果您想通过基于 Javascript 的网站访问此 API,您需要将此访问 token 保存在本地存储中。然后对于每个请求,将此访问 token 发送到您的 API 以检查此 token 的有效性。

此外,如果您的 API 和基于 Javascript 的网站在同一个域中,只需使用常规方式进行身份验证即可。

关于php - Laravel JWT - 使用 Javascript 使用你自己的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51362253/

相关文章:

php - PHP中奇怪的数字转换错误

php - Laravel SSL 与 MySQL 的连接无法正常工作

php - 自定义排序和值

javascript - 使用 javascript 在 laravel 中进行 Behat 测试 - 不使用测试环境

php - Laravel 迁移和 PostgreSQL 架构

ios - 为什么我的 Auth0 token 从 iOS 发送到 node.js 服务器时总是返回无效?

php - 使用 php 进行 Mysql 日期时间输入

php - 如何快速扫描大文本文件中的域名? (拉拉维尔,PHP)

java - jhipster应用程序的JWT认证

jwt - 连接到 Revolut 沙箱