benji07/sso-bundle

该包的最新版本(dev-master)没有提供许可证信息。

Symfony2 的单点登录防火墙

安装: 118

依赖者: 0

建议者: 0

安全: 0

星标: 6

关注者: 2

分支: 1

开放问题: 0

类型:symfony-bundle

dev-master 2013-05-01 23:02 UTC

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>