acsystems / keycloak-guard-bundle
Symfony 通过 Keycloak JWT 进行守卫认证
2.0.1
2022-09-15 09:24 UTC
Requires
- php: >=7.3
- ext-json: *
- fproject/php-jwt: ^4.0
- symfony/security-bundle: ^5.4
- symfony/yaml: ^5.4
README
此包的目标是提供用于 Symfony 的 Keycloak 令牌认证守卫。
由acsystems/keycloak-authenticator-bundle取代
文档
快速开始
安装
使用 composer 从 Packagist 安装包。
composer require acsystems/keycloak-guard-bundle
添加包。
config/bundles.php
return [
ACSystems\KeycloakGuardBundle\ACSystemsKeycloakGuardBundle::class => ['all' => true]
];
设置 Symfony 安全性以使用自定义认证器。
config/packages/security.yaml
security:
providers:
keycloak:
id: ACSystems\KeycloakGuardBundle\Security\Provider\KeycloakUserProvider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
provider: keycloak
stateless: true
anonymous: true
logout: ~
guard:
authenticators:
- ACSystems\KeycloakGuardBundle\Security\KeycloakTokenAuthenticator
access_control:
# ...
添加您的 Keycloak 基础 URL 和领域。
config/packages/keycloak_client.yaml
acsystems_keycloak_guard:
keycloak_guard:
base_uri: 'https://example.com/'
realm: 'example-realm'
可配置参数
名称 | 类型 | 用途 |
---|---|---|
base_uri | 字符串 | 您的 Keycloak 实例的 URL |
realm | 可选字符串 | 领域名称,如果不存在则推导 |
client_id | 可选字符串 | 人类可读的 client_id,如果不存在则推导 |
升级
有关版本迁移说明,请参阅升级说明。
支持的平台
以下平台由本包官方支持。其他版本可能也适用,但不保证。
平台 | 版本 |
---|---|
PHP | 7.4 / 8.1 |
Symfony | 5.4 |
- 对于 keycloak >= 17,使用本包的 ^2.0.0 版本
- 对于 Keycloak <= 16,使用本包的 ^1.4.0 版本
- 对于 Symfony >=6,请使用acsystems/keycloak-authenticator-bundle
贡献
在贡献之前,请阅读我们的贡献指南。