beu/oauth2-trackmania

league/oauth2-client 的 TrackMania 2020 提供商

1.1 2024-07-31 10:21 UTC

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