From 2da841f043a9cf5b173aab9157051e85be3fda51 Mon Sep 17 00:00:00 2001 From: Mike Brewster Date: Sun, 3 Aug 2025 22:41:31 +0100 Subject: [PATCH 1/5] feat: convert scopes array to comma-separated string in SocialProvider --- src/Models/SocialProvider.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Models/SocialProvider.php b/src/Models/SocialProvider.php index 53d9b77d..4ac5f9f1 100644 --- a/src/Models/SocialProvider.php +++ b/src/Models/SocialProvider.php @@ -25,6 +25,11 @@ public function getRows() foreach ($socialProviders as $key => $provider) { $provider['slug'] = $key; + + if (isset($provider['scopes']) && is_array($provider['scopes'])) { + $provider['scopes'] = implode(',', $provider['scopes']); + } + array_push($rowsArray, $provider); } From 3e1fdfe9adce3faeedbaeecc8b600ebd58c1a22a Mon Sep 17 00:00:00 2001 From: Mike Brewster Date: Sun, 3 Aug 2025 22:41:35 +0100 Subject: [PATCH 2/5] feat: add support for dynamic scopes in Socialite driver redirection --- src/Http/Controllers/SocialController.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Http/Controllers/SocialController.php b/src/Http/Controllers/SocialController.php index 0050bf55..8be1caec 100644 --- a/src/Http/Controllers/SocialController.php +++ b/src/Http/Controllers/SocialController.php @@ -19,7 +19,9 @@ public function redirect(Request $request, string $driver): RedirectResponse { $this->dynamicallySetSocialProviderCredentials($driver); - return Socialite::driver($driver)->redirect(); + $scopes = config('devdojo.auth.providers.'.$driver.'.scopes', []); + + return Socialite::driver($driver)->scopes($scopes)->redirect(); } private function dynamicallySetSocialProviderCredentials($provider) From eb8b181e1ebb90304a7d61c3bfb86e25872af348 Mon Sep 17 00:00:00 2001 From: Mike Brewster Date: Sun, 3 Aug 2025 22:41:38 +0100 Subject: [PATCH 3/5] feat: change refresh_token column to text in social_provider_user table --- ...to_text_on_social_provider_users_table.php | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php diff --git a/database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php b/database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php new file mode 100644 index 00000000..53852963 --- /dev/null +++ b/database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php @@ -0,0 +1,22 @@ +text('refresh_token')->change(); + }); + } + + public function down(): void + { + Schema::table('social_provider_user', function (Blueprint $table) { + $table->string('refresh_token')->change(); + }); + } +}; From c54b9e71d03c2a5666916a60065f290f6e86bd77 Mon Sep 17 00:00:00 2001 From: Mike Brewster Date: Sun, 3 Aug 2025 22:41:43 +0100 Subject: [PATCH 4/5] feat: change token column type to text in social_provider_user table --- ...to_text_on_social_provider_users_table.php | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 database/migrations/2025_08_03_213559_change_token_to_text_on_social_provider_users_table.php diff --git a/database/migrations/2025_08_03_213559_change_token_to_text_on_social_provider_users_table.php b/database/migrations/2025_08_03_213559_change_token_to_text_on_social_provider_users_table.php new file mode 100644 index 00000000..551b9f34 --- /dev/null +++ b/database/migrations/2025_08_03_213559_change_token_to_text_on_social_provider_users_table.php @@ -0,0 +1,21 @@ +text('token')->change(); + }); + } + + public function down(): void + { + Schema::table('social_provider_user', function (Blueprint $table) { + $table->string('token', 400)->change(); + }); + } +}; From 8e23928b744f5ecc4009d142753b8b6a7eab2a1e Mon Sep 17 00:00:00 2001 From: Mike Brewster Date: Mon, 4 Aug 2025 09:29:22 +0100 Subject: [PATCH 5/5] Update database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- ...nge_refresh_token_to_text_on_social_provider_users_table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php b/database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php index 53852963..d075d082 100644 --- a/database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php +++ b/database/migrations/2025_08_03_213701_change_refresh_token_to_text_on_social_provider_users_table.php @@ -8,7 +8,7 @@ public function up(): void { Schema::table('social_provider_user', function (Blueprint $table) { - // Add a new 'refresh_token' column + // Change refresh_token column to text type $table->text('refresh_token')->change(); }); }