benji07 / sso-bundle
该包的最新版本(dev-master)没有提供许可证信息。
Symfony2 的单点登录防火墙
dev-master
2013-05-01 23:02 UTC
Requires
- php: >=5.3.2
- fp/lightopenid: dev-master
- sensio/buzz-bundle: *
- symfony/framework-bundle: >=2.1,<2.3-dev
This package is not auto-updated.
Last update: 2024-09-14 13:33:33 UTC
README
步骤 1: 使用 composer 下载包
"require": { "benji07/sso-bundle": "*" }
替代步骤 1: 使用供应商脚本下载包
[Buzz]
git=https://github.com/kriswallsmith/Buzz.git
version=v0.5
[BuzzBundle]
git=https://github.com/sensio/SensioBuzzBundle.git
target=/bundles/Sensio/Bundle/BuzzBundle
[LightOpenId]
git=git://gitorious.org/lightopenid/lightopenid.git
target=/lightopenid
[Benji07SSoBundle]
git=https://github.com/benji07/Benji07SsoBundle.git
target=/bundles/Benji07/SsoBundle
步骤 2: 路由配置
Benji07SsoBundle:
resource: "@Benji07SsoBundle/Resources/config/routing.yml"
步骤 3: 安全配置
firewalls: sso: pattern: ^/sso/login/ security: false main: sso: check_path: /sso/login_check
步骤 4: 应用配置
benji07_sso: user_manager: your_user_manager.id providers: steam: service: benji07.sso.provider.steam options: apiKey: %steam_apiKey%
步骤 5: 创建用户管理器
创建一个实现 UserManagerInterface 的类,并将其声明为服务
- findUser: 使用提供者名称和提供者发送的信息查找用户
- createUser: 创建用户或返回响应以以不同的方式处理用户注册(提供者数据设置在 sso_user 会话中)
创建新的提供者
默认定义了一些提供者,但如果需要,可以扩展 OAuth 或 OpenId 提供者或实现 ProviderInterface
添加登录链接
<a href="{{ path('_sso_login', {name: 'steam'}) }}">Login with steam</a>