大鸭子/steamauth

Steam 验证适用于 Symfony

安装数量: 1,009

依赖项: 0

建议者: 0

安全: 0

星标: 11

关注者: 4

分支: 5

开放问题: 2

类型:symfony-bundle

dev-master 2018-04-06 14:04 UTC

This package is not auto-updated.

Last update: 2024-09-22 09:03:13 UTC


README

Steam 验证适用于 Symfony

配置和使用

为了让此扩展包工作,需要满足一些条件。您的用户类需要由 Doctrine ORM 管理(目前不支持 Mongo 或 Propel。)首先,将 EightPoints GuzzleBundle 和 SteamAuthBundle 添加到您的 AppKernel.php 文件中。

$bundles = [
...
new EightPoints\Bundle\GuzzleBundle\GuzzleBundle(),
new SteamAuthBundle\SteamAuthBundle()
...
];

app/config/config.yml 文件中,您需要以下参数

steam_auth:
    steam_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    user_class: AppBundle\Entity\User

并且您的安全 yml 防火墙需要

  • steam 作为防火墙选项
  • 以及具有 default_route 选项的名称,该选项指定用户登录后要访问的路由
  • 标记为 steam.user_provider 的用户提供者
security:
    providers:
        steamauth:
            id: steam.user_provider

    firewalls:
        main:
            provider: steamauth
            steam:
                default_route: home

您的用户类需要实现 SteamAuthBundle\Security\User\SteamUserInterface 以及 Symfony\Component\Security\Core\User\UserInterface

请注意,此扩展包将创建一个新的用户类实例,该实例具有空默认构造函数,并设置用户名、昵称、头像和密码,并将其持久化到数据库。当用户使用他们的 Steam 账户登录且不存在于您的数据库中时,将发生这种情况。

如果需要,此扩展包还可以与 Symfony 的 Remember Me 功能一起使用。

main:
    steam:
        default_route: home
    remember_me:
        secret: '%secret%'

登录模板

在您的登录页面上,您可以使用自己的表单以及 OpenID 参数,或者包含 SteamAuthBundle 模板。

{% include "SteamAuthBundle:Login:login.html.twig" %}