- set social login credentials

- disallow registration refactoring
This commit is contained in:
Čarodej
2022-01-11 13:22:25 +01:00
parent 62cbcd14ed
commit 1c188081b3
23 changed files with 891 additions and 148 deletions

View File

@@ -0,0 +1,56 @@
<?php
namespace Domain\Settings\Controllers;
use Artisan;
use Illuminate\Http\Response;
use Domain\Settings\Models\Setting;
use Domain\Settings\Requests\StoreSocialServiceCredentialsRequest;
class StoreSocialServiceCredentialsController
{
/**
* Configure stripe additionally
*/
public function __invoke(StoreSocialServiceCredentialsRequest $request): Response
{
// Abort in demo mode
abort_if(is_demo(), 204, 'Done.');
// Set on social login
Setting::updateOrCreate([
'name' => "allowed_{$request->input('service')}_login",
], [
'value' => 1,
]);
// Get and store credentials
if (! app()->runningUnitTests()) {
$credentials = [
'facebook' => [
'FACEBOOK_CLIENT_ID' => $request->input('client_id'),
'FACEBOOK_CLIENT_SECRET' => $request->input('client_secret'),
],
'google' => [
'GOOGLE_CLIENT_ID' => $request->input('client_id'),
'GOOGLE_CLIENT_SECRET' => $request->input('client_secret'),
],
'github' => [
'GITHUB_CLIENT_ID' => $request->input('client_id'),
'GITHUB_CLIENT_SECRET' => $request->input('client_secret'),
],
];
// Store credentials into the .env file
setEnvironmentValue($credentials[$request->input('service')]);
// Clear cache
if (! is_dev()) {
Artisan::call('cache:clear');
Artisan::call('config:clear');
Artisan::call('config:cache');
}
}
return response('Done', 204);
}
}