推荐:简单易用的 Laravel Keycloak 守卫
项目地址:https://gitcode.com/robsontenorio/laravel-keycloak-guard
如果你正在为你的 Laravel API 寻找一个基于 Keycloak 服务器JWT令牌认证的解决方案,那么 Simple Keycloak Guard
可能正是你需要的工具。这个包帮助你在不使用 Laravel Passport 的情况下,利用 Keycloak 服务器进行用户的认证。
项目介绍
Simple Keycloak Guard
设计用于那些前端和后端分离,且用户直接在 Keycloak 服务器上进行身份验证并获取 JWT 令牌的应用场景。它负责验证从 Keycloak 服务器发出的令牌,并在必要的时候更新或创建数据库中的用户信息。
项目技术分析
- JWT 校验: 包通过校验令牌签名、结构和过期时间来确保其有效性。
- 资源访问控制: 确保 API 允许由令牌指定的资源访问。
- 数据库交互: 当启用时,它可以同步数据库中的用户数据,基于有效的令牌更新或创建用户。
应用场景
- 前后端分离应用: 前端用户在 Keycloak 服务器上登录,然后将 JWT 令牌传递给 API 进行身份验证。
- API 认证: 需要基于 JWT 令牌的保护的 Laravel 或 Lumen API。
项目特点
- 轻量级: 只针对 Laravel API 和 Keycloak 服务进行认证,无需额外的库或插件。
- 易于配置: 通过简单的环境变量配置即可设置 Realm 公钥和其他关键属性。
- 灵活的用户管理: 支持自定义方法更新数据库中的用户信息,或者仅基于 JWT 令牌进行验证。
- 全面的测试: 提供了完整的测试套件以保证代码质量。
安装与配置
安装过程非常简单:
composer require robsontenorio/laravel-keycloak-guard
随后,在 Laravel 中发布配置文件,Lumen 用户还需要注册服务提供者。详细步骤可以在项目文档中找到。
使用流程
一旦配置完成,你就可以通过中间件轻松地保护你的路由,例如:
// 在 Laravel 路由文件中
Route::group(['middleware' => 'auth:api'], function () {
Route::get('/protected-endpoint', 'SecretController@index');
});
// 在 Lumen 路由文件中
$router->group(['middleware' => 'auth'], function () {
$router->get('/protected-endpoint', 'SecretController@index');
});
开源贡献与支持
开发者可以通过 Twitter@robsontenorio 获取帮助,或者参与到项目的贡献中。项目包含了详细的测试和开发指南,方便在 Visual Studio Code 内部容器中运行和测试。
如果你的项目需要一个安全且易用的身份验证解决方案,尝试一下 Simple Keycloak Guard
吧,它会简化你的 API 认证流程。
项目地址:https://gitcode.com/robsontenorio/laravel-keycloak-guard