mikoweb / simple-api-key-bundle
简单API密钥
v0.1.1
2017-04-12 15:16 UTC
Requires
- php: >=5.5.9
- friendsofsymfony/user-bundle: ~2.0
- uecode/api-key-bundle: ~3.0
This package is auto-updated.
Last update: 2024-09-25 07:23:37 UTC
README
安装
需要composer,按照以下步骤安装
composer require mikoweb/simple-api-key-bundle
启用Bundle
将以下代码放置在AppKernel.php中以启用该Bundle
// app/AppKernel.php class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Uecode\Bundle\ApiKeyBundle\UecodeApiKeyBundle(), new FOS\UserBundle\FOSUserBundle(), new Mikoweb\Bundle\SimpleApiKeyBundle\MikowebSimpleApiKeyBundle(), ); // ... } }
配置
在config.yml中导入以下文件
imports: # ... - { resource: api_groups.yml } - { resource: api_keys.yml }
示例分组文件
mikoweb_simple_api_key: groups: api_user: roles: - ROLE_API_USER - ROLE_DO_SOMETHING - ROLE_ACCESS_TO_ARTICLES api_extended_user: roles: - ROLE_API_USER - ROLE_DO_SOMETHING - ROLE_ACCESS_TO_ARTICLES - ROLE_EXTENDED_ACCESS
示例密钥文件
mikoweb_simple_api_key: keys: normal_key: api_user extended_key: api_extended_user krwntfibN8: api_user
将以下条目添加到config.yml中
# FOSUserBundle fos_user: db_driver: orm firewall_name: api user_class: Mikoweb\Bundle\SimpleApiKeyBundle\Entity\User # UecodeApiKeyBundle uecode_api_key: delivery: header parameter_name: X-Api-Key # SimpleApiKeyBundle mikoweb_simple_api_key: user_class: Mikoweb\Bundle\SimpleApiKeyBundle\Entity\User
安全防火墙
security.yml
security: role_hierarchy: ROLE_API_USER: ROLE_USER providers: api_key: id: mikoweb.simple_api_key.api_key_user_provider firewalls: api: pattern: ^/api/* api_key: true stateless: true provider: api_key access_control: - { path: ^/api/, role: ROLE_API_USER }