From c2800f979a8c312376d27e1fbba9b501c1ada3ac Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 13:54:36 +0200 Subject: [PATCH 01/16] oauth2-bundle contrib recipe --- .../2.0/config/packages/trikoder_oauth2.yaml | 13 ++++++++++ trikoder/oauth2-bundle/2.0/manifest.json | 11 ++++++++ trikoder/oauth2-bundle/2.0/post-install.txt | 25 +++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml create mode 100644 trikoder/oauth2-bundle/2.0/manifest.json create mode 100644 trikoder/oauth2-bundle/2.0/post-install.txt diff --git a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml new file mode 100644 index 00000000..68acc4be --- /dev/null +++ b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml @@ -0,0 +1,13 @@ +trikoder_oauth2: + + authorization_server: + private_key: /var/oauth/private.key # Change this + private_key_passphrase: null # Passphrase of the private key, if any + + encryption_key: '%env(string:OAUTH2_ENCRYPTION_KEY)%' # (Optional) Change this + + resource_server: + public_key: /var/oauth/public.key # Change this + + persistence: + doctrine: ~ diff --git a/trikoder/oauth2-bundle/2.0/manifest.json b/trikoder/oauth2-bundle/2.0/manifest.json new file mode 100644 index 00000000..0ee9f4f3 --- /dev/null +++ b/trikoder/oauth2-bundle/2.0/manifest.json @@ -0,0 +1,11 @@ +{ + "bundles": { + "Trikoder\\Bundle\\OAuth2Bundle\\TrikoderOAuth2Bundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "env": { + "OAUTH2_ENCRYPTION_KEY": "%generate(secret)%" + } +} diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt new file mode 100644 index 00000000..182d1126 --- /dev/null +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -0,0 +1,25 @@ + + OAuth2 Configuration + + + 0. (Optional) Do one of the following + i) Change the OAUTH2_ENCRYPTION_KEY env variable: https://oauth2.thephpleague.com/installation/#string-password + ii) Configure the encryption_key with a secure encryption key: https://oauth2.thephpleague.com/installation/#string-password + + 1. + 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. + * Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force + + 3. + * Import the routes inside your config/routes.yaml file: + + oauth2: + resource: '@TrikoderOAuth2Bundle/Resources/config/routes.xml' + + + 4. + * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/master/docs/basic-setup.md From 2bdd33ae04257b92f697509b18d0172576eab68a Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 14:01:27 +0200 Subject: [PATCH 02/16] Replace ~ with null in yaml --- trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml index 68acc4be..e2b79da7 100644 --- a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml +++ b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml @@ -10,4 +10,4 @@ trikoder_oauth2: public_key: /var/oauth/public.key # Change this persistence: - doctrine: ~ + doctrine: null From bf2d3796218c78398cbdaef6d0966ecb3b13f15c Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 15:38:02 +0200 Subject: [PATCH 03/16] Add notice to override oauth secret --- trikoder/oauth2-bundle/2.0/manifest.json | 2 ++ trikoder/oauth2-bundle/2.0/post-install.txt | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/trikoder/oauth2-bundle/2.0/manifest.json b/trikoder/oauth2-bundle/2.0/manifest.json index 0ee9f4f3..0754fe29 100644 --- a/trikoder/oauth2-bundle/2.0/manifest.json +++ b/trikoder/oauth2-bundle/2.0/manifest.json @@ -6,6 +6,8 @@ "config/": "%CONFIG_DIR%/" }, "env": { + "#1": "Fallback OAuth2 encryption key", + "#2": "Please change this with a secure value: https://oauth2.thephpleague.com/installation/#string-password", "OAUTH2_ENCRYPTION_KEY": "%generate(secret)%" } } diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index 182d1126..09e96ed4 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -2,24 +2,24 @@ OAuth2 Configuration - 0. (Optional) Do one of the following - i) Change the OAUTH2_ENCRYPTION_KEY env variable: https://oauth2.thephpleague.com/installation/#string-password - ii) Configure the encryption_key with a secure encryption key: https://oauth2.thephpleague.com/installation/#string-password - 1. 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. - * Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force + 2. Do one of the following + 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 so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force + + 4. * Import the routes inside your config/routes.yaml file: oauth2: resource: '@TrikoderOAuth2Bundle/Resources/config/routes.xml' - 4. + 5. * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/master/docs/basic-setup.md From 173c9ce56538e5a41300be3d9d2aead075726e06 Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 16:09:47 +0200 Subject: [PATCH 04/16] WIP: Basic sane doctrine config --- .../oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml index e2b79da7..f9f50510 100644 --- a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml +++ b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml @@ -10,4 +10,5 @@ trikoder_oauth2: public_key: /var/oauth/public.key # Change this persistence: - doctrine: null + doctrine: + entity_manager: default From b535ce4b10e88ccb3c79fe47cadc18b69e007a76 Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 16:11:14 +0200 Subject: [PATCH 05/16] WIP: Basic sane doctrine config --- .../oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml index f9f50510..99378b7c 100644 --- a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml +++ b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml @@ -10,5 +10,6 @@ trikoder_oauth2: public_key: /var/oauth/public.key # Change this persistence: - doctrine: - entity_manager: default + in_memory: null +# doctrine: +# entity_manager: default From 8607e7c35229c8dca254f0d93f2db10e3b229eb0 Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 16:40:24 +0200 Subject: [PATCH 06/16] Tweak post-install docs --- trikoder/oauth2-bundle/2.0/post-install.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index 09e96ed4..58186f4e 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -2,24 +2,24 @@ OAuth2 Configuration - 1. + 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 + 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. Do one of the following - 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 + 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. + 3. Update the database * Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force - 4. + 4. Import routes * Import the routes inside your config/routes.yaml file: oauth2: resource: '@TrikoderOAuth2Bundle/Resources/config/routes.xml' - 5. + 5. Read the docs * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/master/docs/basic-setup.md From 85ff35fb8eae7dfdcade7809b02f2f54a5af390a Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 16:41:12 +0200 Subject: [PATCH 07/16] Add route service registration --- trikoder/oauth2-bundle/2.0/config/routes/trikoder_oauth2.yaml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 trikoder/oauth2-bundle/2.0/config/routes/trikoder_oauth2.yaml diff --git a/trikoder/oauth2-bundle/2.0/config/routes/trikoder_oauth2.yaml b/trikoder/oauth2-bundle/2.0/config/routes/trikoder_oauth2.yaml new file mode 100644 index 00000000..f51d0aa6 --- /dev/null +++ b/trikoder/oauth2-bundle/2.0/config/routes/trikoder_oauth2.yaml @@ -0,0 +1,2 @@ +oauth2: + resource: '@TrikoderOAuth2Bundle/Resources/config/routes.xml' From db28851a9b7320cae80476caacf0149503c179d6 Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 16:44:43 +0200 Subject: [PATCH 08/16] Tweak formatting --- trikoder/oauth2-bundle/2.0/post-install.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index 58186f4e..165be060 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -2,24 +2,24 @@ OAuth2 Configuration - 1. Provide a key pair + 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 + 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 + 3. Update the database * Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force - 4. Import routes + 4. Import routes * Import the routes inside your config/routes.yaml file: oauth2: resource: '@TrikoderOAuth2Bundle/Resources/config/routes.xml' - 5. Read the docs + 5. Read the docs * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/master/docs/basic-setup.md From 0b477c136fe1cd739806d998da3568f94b9fbb0a Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 16:53:44 +0200 Subject: [PATCH 09/16] Tweak env comment --- trikoder/oauth2-bundle/2.0/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trikoder/oauth2-bundle/2.0/manifest.json b/trikoder/oauth2-bundle/2.0/manifest.json index 0754fe29..3266a549 100644 --- a/trikoder/oauth2-bundle/2.0/manifest.json +++ b/trikoder/oauth2-bundle/2.0/manifest.json @@ -7,7 +7,7 @@ }, "env": { "#1": "Fallback OAuth2 encryption key", - "#2": "Please change this with a secure value: https://oauth2.thephpleague.com/installation/#string-password", + "#2": "Please override this with a secure value: https://oauth2.thephpleague.com/installation/#string-password", "OAUTH2_ENCRYPTION_KEY": "%generate(secret)%" } } From 2e7b1838244323ed2b1dae6fe712d8aef513edce Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 17:06:13 +0200 Subject: [PATCH 10/16] Restored persistance to doctrine by default --- .../oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml index 99378b7c..e2b79da7 100644 --- a/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml +++ b/trikoder/oauth2-bundle/2.0/config/packages/trikoder_oauth2.yaml @@ -10,6 +10,4 @@ trikoder_oauth2: public_key: /var/oauth/public.key # Change this persistence: - in_memory: null -# doctrine: -# entity_manager: default + doctrine: null From 4c926f1152f2109f308a12764360de313bd5dcca Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Mon, 12 Aug 2019 17:33:06 +0200 Subject: [PATCH 11/16] Remove "Import routes" sectiion --- trikoder/oauth2-bundle/2.0/post-install.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index 165be060..18474b36 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -14,12 +14,5 @@ 3. Update the database * Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force - 4. Import routes - * Import the routes inside your config/routes.yaml file: - - oauth2: - resource: '@TrikoderOAuth2Bundle/Resources/config/routes.xml' - - - 5. Read the docs + 4. Read the docs * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/master/docs/basic-setup.md From 5c9d1f870406fe8b00d8798001fefbd362ecda79 Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Tue, 13 Aug 2019 11:37:56 +0200 Subject: [PATCH 12/16] Update docs link to target v2.x branch --- trikoder/oauth2-bundle/2.0/post-install.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index 18474b36..4e8ee44b 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -15,4 +15,4 @@ * Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force 4. Read the docs - * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/master/docs/basic-setup.md + * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/v2.x/docs/basic-setup.md From 4b8a6c288a9824e8f7aa341cbffee499c5a33a44 Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Tue, 13 Aug 2019 11:40:48 +0200 Subject: [PATCH 13/16] Add post-install reminder to add PSR 7/17 package --- trikoder/oauth2-bundle/2.0/post-install.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index 4e8ee44b..dc3a46f0 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -14,5 +14,9 @@ 3. Update the database * Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force - 4. Read the docs + 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 * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/v2.x/docs/basic-setup.md From 25e9c28e6533920f1298807fcd862cd4e11162b6 Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Tue, 13 Aug 2019 12:10:53 +0200 Subject: [PATCH 14/16] Update post-install with consistent list style --- trikoder/oauth2-bundle/2.0/post-install.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index dc3a46f0..591a8923 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -12,11 +12,11 @@ ii) Configure the encryption_key with a secure encryption key: https://oauth2.thephpleague.com/installation/#string-password 3. Update the database - * Update the database so bundle entities can be persisted using Doctrine: bin/console doctrine:schema:update --force + 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 - * Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/v2.x/docs/basic-setup.md + i) Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/v2.x/docs/basic-setup.md From 044869d0c7a3a8fa5a53a5c9b7cf049c604ef3ad Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Tue, 13 Aug 2019 12:12:09 +0200 Subject: [PATCH 15/16] Add missing style --- trikoder/oauth2-bundle/2.0/post-install.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index 591a8923..a4c01f14 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -16,7 +16,7 @@ 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 + 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 From 5132b0ad99a484e3c8f0db6f72af362a788bb877 Mon Sep 17 00:00:00 2001 From: Josip Igrec Date: Tue, 13 Aug 2019 12:13:52 +0200 Subject: [PATCH 16/16] Update header styles --- trikoder/oauth2-bundle/2.0/post-install.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/trikoder/oauth2-bundle/2.0/post-install.txt b/trikoder/oauth2-bundle/2.0/post-install.txt index a4c01f14..a2fcd891 100644 --- a/trikoder/oauth2-bundle/2.0/post-install.txt +++ b/trikoder/oauth2-bundle/2.0/post-install.txt @@ -2,21 +2,21 @@ OAuth2 Configuration - 1. Provide a key pair + 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 + 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 + 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 + 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 + 5. Read the docs i) Read the documentation at https://github.com/trikoder/oauth2-bundle/blob/v2.x/docs/basic-setup.md