You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Beu 32c6d5b170 update conf for Symfony 6 1 month ago
examples update conf for Symfony 6 1 month ago
src/Provider Initial commit 9 months ago Add config to the Readme 1 month ago
composer.json update dependencies 3 months ago

TrackMania (2020) OAuth2 authentication module

How to install it

Add this in your composer.json file:

"repositories": [
        "url": "",
        "type": "git"

change the value of minimum-stability to dev in it.

then launch the command:

composer require beu/oauth2-trackmania

How to configure it

Install the security bundle:

composer require symfony/security-bundle

Then create the User Entity

php bin/console make:user

Note that you have to answer no to the question Does this app need to hash/check user passwords?

Then, you could copy the files TrackMania.php in src/Controller/OAuth2/ and TrackManiaAuthenticator.php in src/Security/

Then change the config/packages/knpu_oauth2_client.yaml file like this:

            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: {}

and in the config/packages/security.yaml file, in the security -> firewalls -> main part:

remove the property provider and add these lines:

    - App\Security\TrackManiaAuthenticator

    path: app_logout

After that, you will need to get the Client ID and the Secret on and add them in your .env file like this: