ventureleap / leap-one-symfony-sdk
该包的最新版本(dev-main)没有可用的许可证信息。
Venture Leap Symfony SDK - 连接到 Leap.ONE API 并轻松进行身份验证
dev-main
2021-12-01 15:03 UTC
Requires
- ext-json: *
- mark-gerarts/automapper-plus-bundle: ^1.3
- symfony/cache: ^5.2
- symfony/form: ^5.2
- symfony/framework-bundle: ^5.2
- symfony/security-bundle: ^5.2
- symfony/twig-bundle: ^5.2
- symfony/yaml: ^5.2
- ventureleap/leap-one-plain-php-sdk: dev-main
This package is auto-updated.
Last update: 2024-09-29 05:49:50 UTC
README
借助 leap.one PHP SDK 简化在 Symfony 中的开发
安装
- 通过以下方式添加包:
composer require ventureleap/leap-one-symfony-sdk dev-main
- 将以下变量添加到您的 .env.local 文件中
LEAP_ONE_ENDPOINT_URL='https://api-test.leap1.de:8000'
LEAP_ONE_APP_ID='<your-app-id>'
LEAP_ONE_APP_SECRET='<your-app-id>'
- (可选) 添加路由
leap_one_php_sdk: resource: "@LeapOneSymfonySdkBundle/Resources/config/routes.yaml" prefix: /
- (可选) 修改您的安全配置文件 这部分要求您已经实现了使用 LEAP.one 用户服务的用户逻辑。
encoders: VentureLeap\LeapOneSymfony\Model\User\User: algorithm: auto providers: user_provider: id: leap_one.user_provider firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false main: pattern: / anonymous: true lazy: true provider: user_provider guard: authenticators: - leap_one.login_form_authenticator - leap_one.mfa_authenticator entry_point: leap_one.login_form_authenticator logout: path: leap_one_user_logout access_control: - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/mfa-check, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/reset-password, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, roles: ROLE_ADMIN }
- (可选) 允许多个用户类型
要允许您的应用程序处理多种类型的用户,您需要以下 3 个步骤。
5.1 您的路由应有一个额外的部分。这应包含您想要进行用户身份验证的路由前缀的逻辑。以下示例演示了如何添加一个名为 user 的新用户类型,该类型将在您的domain.com/user 下可用。
leap_one_php_sdk_user: resource: "@LeapOneSymfonySdkBundle/Resources/config/routes.yaml" defaults: user_type: 'user' prefix: user: '/{user_type}'
5.2 为验证器创建新服务
leap_one_user.user_provider: class: VentureLeap\LeapOneSymfonySdk\Services\User\UserProvider public: true arguments: $userType: 'user' leap_one_user.login_form_authenticator: parent: leap_one.login_form_authenticator arguments: $loginRoute: 'leap_one_user_login.user' $userProvider: '@leap_one_user.user_provider' leap_one_user.mfa_authenticator: parent: leap_one.mfa_authenticator arguments: $loginRoute: 'leap_one_user_mfa_check' $userProvider: '@leap_one_user.user_provider'
5.3 在安全层中使用定义的服务 将新用户提供者添加到您的 security.yaml
providers: user_provider: id: leap_one.user_provider user_user_provider: id: leap_one_user.user_provider
也将新对应的部分添加到防火墙中,例如。
user: pattern: ^/user lazy: true anonymous: true provider: user_user_provider guard: authenticators: - leap_one_user.login_form_authenticator - leap_one_user.mfa_authenticator entry_point: leap_one_user.login_form_authenticator logout: path: leap_one_user_logout
当然,您还需要完成新的 access_control 逻辑,以覆盖新的路由。