beu / oauth2-trackmania
league/oauth2-client 的 TrackMania 2020 提供商
1.1
2024-07-31 10:21 UTC
Requires
- php: >=8.0
- knpuniversity/oauth2-client-bundle: ^2.11
- league/oauth2-client: ^2.6
This package is not auto-updated.
Last update: 2024-09-26 09:09:54 UTC
README
如何安装
在您的 composer.json 文件中添加以下内容
"repositories": [
{
"url": "https://git.virtit.fr/beu/oauth2-trackmania.git",
"type": "git"
}
],
将其中的 minimum-stability
的值更改为 dev。
然后执行以下命令
composer require beu/oauth2-trackmania
如何配置
安装安全包
composer require symfony/security-bundle
然后创建用户实体
php bin/console make:user
注意,您需要回答 否 来回答问题 此应用程序需要散列/检查用户密码吗?
然后,您可以复制 src/Controller/OAuth2/
中的 TrackMania.php
文件,src/Security/
中的 TrackManiaAuthenticator.php
文件和 src/Event/
中的 TrackManiaAuthenticatorSubscriber.php
文件。
然后按照以下方式修改 config/packages/knpu_oauth2_client.yaml
文件
knpu_oauth2_client:
clients:
TrackMania:
type: generic
provider_class: \Beu\TrackMania\OAuth2\Client\Provider\TrackManiaProvider
client_id: '%env(OAUTH2_TRACKMANIA_CLIENTID)%'
client_secret: '%env(OAUTH2_TRACKMANIA_SECRET)%'
redirect_route: connect_trackmania_check
redirect_params: {}
并在 config/packages/security.yaml
文件中,在 security -> firewalls -> main 部分
删除属性 provider
并添加以下行
custom_authenticators:
- App\Security\TrackManiaAuthenticator
logout:
path: app_logout
之后,您需要在 https://api.trackmania.com/ 上获取客户端 ID 和密钥,并在您的 .env
文件中添加它们,如下所示
OAUTH2_TRACKMANIA_CLIENTID=XXXXXXXXXXXXXXXXXXX
OAUTH2_TRACKMANIA_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX