laravel - 公共 Laravel API 的身份验证
问题描述
我正在制作一个公共 API 以允许第三方网站与我的应用程序交互,我想知道管理身份验证的最佳方法是什么。我目前正在研究使用 Laravel Passport,但我对工作流程应该如何工作感到有些困惑。
我应该为我的用户创建客户端然后请求他们自己的令牌,还是应该只有一个客户端用于请求令牌并将令牌分发给用户。
我很想使用 Laravel Passport,因为它集成了 OAuth2,这是一个众所周知的身份验证标准,但是从阅读 Passport 文档来看,它似乎并不是为了创建一个公共 API 作为所有客户端创建“方法”而编写的是通过运行工匠命令,而不是通过控制器方法。
更新
我目前正在寻找的是让用户通过编写一个控制器来创建一个 OAuth 客户端,该控制器使用php artisan passport:client
命令中包含的相同类型的代码,但位于控制器中,因此可以从前端网页完成。然后,这将为用户提供一个客户端 ID 和秘密,然后他们可以使用它来通过请求访问令牌来遵循标准 OAuth 流程。我不确定这是多么正确,或者这对于一个非常基本的 API 来说是否有点过于深入,但这就是我的想法
解决方案
你可以尝试使用这个库。 https://jwt-auth.readthedocs.io/en/develop/
它应该适用于您的目的。
推荐阅读
- winforms - 带有 WebBrowser 控件的 WinForms 应用程序中的 html5 视频流没有声音
- phpmyadmin - 无法将任何数据库导入 Xampp PHPmyAdmin 无论大小
- c++ - Objective-C 变量布局
- java - 大米之谜 - 为什么“If else”语句不能正确循环?
- go - 如何填充作为函数引用传递的接口切片
- c++ - 如何在 c++ 中使用 fstream 读取 .txt 文件
- html - Mathjax 换行问题
- machine-learning - 在 word2vec 中获取两个单词之间最频繁的上下文
- javascript - javascript混淆中的承诺
- python - \0 Python 数据框中的值