Dynamic OauthDriver scope (#544)

* Dynamic OauthDriver scope

* support migration for mysql

* Refactor default scopes for integrations

* Small UI changes

* fix flet select tooltip

* fix linter

* Fix google token size in DB

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
Chirag Chhatrala
2024-08-29 16:58:02 +05:30
committed by GitHub
parent 89513e3b4a
commit da0ea04475
12 changed files with 130 additions and 15 deletions

View File

@@ -93,6 +93,7 @@ class OAuthController extends Controller
$oauthProvider->update([
'access_token' => $socialiteUser->token,
'refresh_token' => $socialiteUser->refreshToken,
'scopes' => $socialiteUser->approvedScopes
]);
return $oauthProvider->user;
@@ -139,6 +140,7 @@ class OAuthController extends Controller
'refresh_token' => $socialiteUser->refreshToken,
'name' => $socialiteUser->getName(),
'email' => $socialiteUser->getEmail(),
'scopes' => $socialiteUser->approvedScopes
]
);
return $user;

View File

@@ -26,8 +26,10 @@ class OAuthProviderController extends Controller
$userId = Auth::id();
cache()->put("oauth-intention:{$userId}", $request->input('intention'), 60 * 5);
// Connecting an account for integrations purposes
// Adding full scopes to the driver
return response()->json([
'url' => $service->getDriver()->getRedirectUrl(),
'url' => $service->getDriver()->fullScopes()->getRedirectUrl(),
]);
}
@@ -47,6 +49,7 @@ class OAuthProviderController extends Controller
'refresh_token' => $driverUser->refreshToken,
'name' => $driverUser->getName(),
'email' => $driverUser->getEmail(),
'scopes' => $driverUser->approvedScopes
]
);