soljian / steam-authentication-bundle
基于Knojector的工作,用于集成Steam认证的Symfony Bundle。
1.0.2
2020-02-20 19:39 UTC
Requires
- php: >=7.1.3
- guzzlehttp/guzzle: ^6.3
- symfony/framework-bundle: ^4.0
- symfony/orm-pack: ^1.0
- symfony/security-bundle: ^4.0
- symfony/twig-bundle: ^4.0
- symfony/yaml: ^4.0
This package is auto-updated.
Last update: 2024-09-21 21:09:32 UTC
README
一个提供通过Steam为您的应用程序进行身份验证的Symfony Bundle。
安装与配置
只需通过Composer要求该bundle,并在安装过程中使用提供的flex配方。
composer require soljian/steam-authentication-bundle
在您的.env
文件中,为您的Steam API密钥生成了一个新条目。您可以从这里获取您的Steam API密钥:https://steamcommunity.com/dev/apikey
login_route 用户在Steam登录后重定向到的路由
login_redirect 如果登录成功,用户将被重定向到的路由
user_class 您的用户实体类名
request_validator_class RequestValidatorInterface类的类名。如果没有设置,则使用Soljian\SteamAuthenticationBundle\Security\Authentication\Validator\RequestValidator
。
请确保您的用户实体扩展自Soljian\SteamAuthenticationBundle\User\AbstractSteamUser
类
<?php namespace App\Entity; use Soljian\SteamAuthenticationBundle\User\AbstractSteamUser; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Security\Core\Role\Role; /** * @author Soljian * * @ORM\Entity() */ class User extends AbstractSteamUser { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @return int */ public function getId(): int { return $this->id; } public function __construct() { $this->roles = []; } /** * @return array */ public function getRoles(): array { $roles = []; foreach ($this->roles as $role) { $roles[] = new Role($role); } return $roles; } }
最后,您只需配置您的防火墙。一个工作示例可能如下所示
security: providers: steam_user_provider: id: Soljian\SteamAuthenticationBundle\Security\User\SteamUserProvider firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false main: anonymous: ~ pattern: ^/ provider: steam_user_provider steam: true logout: path: /logout target: /
要显示“通过Steam登录”按钮,只需在模板中包含此片段即可
{% include '@SoljianSteamAuthentication/login.html.twig' with { 'btn': 1 } %}
您可以选择两种图像(1或2)作为按钮显示,或者简单地输入自己的文本。