1. Provide a key pair i) Generate a private/public key pair (preferably with a password): https://oauth2.thephpleague.com/installation/#generating-public-and-private-keys ii) Configure the private_key and public_key with the respective key locations iii) (Optional) Set the private_key_passphrase to the private key password set in the previous step 2. Configure the OAuth2 encryption key i) Add the OAUTH2_ENCRYPTION_KEY env variable in .env.local (don't commit your production secrets): https://oauth2.thephpleague.com/installation/#string-password ii) Configure the encryption_key with a secure encryption key: https://oauth2.thephpleague.com/installation/#string-password 3. Update the database i) Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force 4. Install a PSR 7/17 implementation i) Require a PSR 7/17 implementation. We recommend that you use nyholm/psr7. ii) (Optional) Choose a different implementation package: https://github.com/trikoder/oauth2-bundle/blob/v2.x/docs/psr-implementation-switching.md 5. Read the docs i) Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/v2.x/docs/basic-setup.md