推荐:简单易用的 Laravel Keycloak 守卫

推荐:简单易用的 Laravel Keycloak 守卫

项目地址:https://gitcode.com/robsontenorio/laravel-keycloak-guard

Bird logo

如果你正在为你的 Laravel API 寻找一个基于 Keycloak 服务器JWT令牌认证的解决方案,那么 Simple Keycloak Guard 可能正是你需要的工具。这个包帮助你在不使用 Laravel Passport 的情况下,利用 Keycloak 服务器进行用户的认证。

项目介绍

Simple Keycloak Guard 设计用于那些前端和后端分离,且用户直接在 Keycloak 服务器上进行身份验证并获取 JWT 令牌的应用场景。它负责验证从 Keycloak 服务器发出的令牌,并在必要的时候更新或创建数据库中的用户信息。

项目技术分析

  1. JWT 校验: 包通过校验令牌签名、结构和过期时间来确保其有效性。
  2. 资源访问控制: 确保 API 允许由令牌指定的资源访问。
  3. 数据库交互: 当启用时,它可以同步数据库中的用户数据,基于有效的令牌更新或创建用户。

应用场景

  1. 前后端分离应用: 前端用户在 Keycloak 服务器上登录,然后将 JWT 令牌传递给 API 进行身份验证。
  2. API 认证: 需要基于 JWT 令牌的保护的 Laravel 或 Lumen API。

项目特点

  1. 轻量级: 只针对 Laravel API 和 Keycloak 服务进行认证,无需额外的库或插件。
  2. 易于配置: 通过简单的环境变量配置即可设置 Realm 公钥和其他关键属性。
  3. 灵活的用户管理: 支持自定义方法更新数据库中的用户信息,或者仅基于 JWT 令牌进行验证。
  4. 全面的测试: 提供了完整的测试套件以保证代码质量。

安装与配置

安装过程非常简单:

composer require robsontenorio/laravel-keycloak-guard

随后,在 Laravel 中发布配置文件,Lumen 用户还需要注册服务提供者。详细步骤可以在项目文档中找到。

使用流程

Flow diagram

一旦配置完成,你就可以通过中间件轻松地保护你的路由,例如:

// 在 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

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕真想Harland

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值