大鸭子 / steamauth
Steam 验证适用于 Symfony
dev-master
2018-04-06 14:04 UTC
Requires
- php: >=5.5.9
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- eightpoints/guzzle-bundle: ^5.0
- symfony/symfony: ^3.1
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" %}