diff --git a/.env.example b/.env.example index 52bec48..41c082e 100755 --- a/.env.example +++ b/.env.example @@ -38,10 +38,6 @@ DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD= -# Bot token for the Discord notification integration. -# Create an application & bot here: https://discord.com/developers/applications -DISCORD_BOT_TOKEN= - RECAPTCHA_SITE_KEY= RECAPTCHA_PRIVATE_KEY= RECAPTCHA_VERIFY_URL="https://www.google.com/recaptcha/api/siteverify" @@ -53,6 +49,10 @@ MOJANG_API_URL="https://api.mojang.com" IPGEO_API_KEY="" IPGEO_API_URL="https://api.ipgeolocation.io/ipgeo" +DISCORD_CLIENT_ID= +DISCORD_CLIENT_SECRET= +DISCORD_BOT_TOKEN= + ARCANEDEV_LOGVIEWER_MIDDLEWARE=web,auth,can:admin.maintenance.logs.view RELEASE=0.8.0 diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 891d780..1f08bb3 100755 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -109,10 +109,12 @@ class LoginController extends Controller } public function discordRedirect() { - return Socialite::driver('discord')->redirect(); + return Socialite::driver('discord') + ->scopes(['email', 'guilds.join', 'guilds.members.read', 'guilds']) + ->redirect(); } public function discordCallback() { - // TODO; + } } diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 6eb82d3..0bc0112 100755 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -70,6 +70,7 @@ class EventServiceProvider extends ServiceProvider 'App\Events\UserBannedEvent' => [ 'App\Listeners\OnUserBanned', ], + ]; /** diff --git a/composer.json b/composer.json index 905f0ae..32d9bde 100755 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "laravel-notification-channels/pusher-push-notifications": "^3.0", "laravel/framework": "^9.0", "laravel/slack-notification-channel": "^2.0", - "laravel/socialite": "^5.2", + "laravel/socialite": "^5.5", "laravel/tinker": "^2.0", "laravel/ui": "^3.0", "mcamara/laravel-localization": "^1.7", diff --git a/composer.lock b/composer.lock index 1543602..089cc3f 100755 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1646b8b9400b69e8dd1b83e38b1b77e5", + "content-hash": "9d78d96466ddbdc75d3952615e00aafc", "packages": [ { "name": "almasaeed2010/adminlte", @@ -2488,16 +2488,16 @@ }, { "name": "laravel/socialite", - "version": "v5.5.1", + "version": "v5.5.2", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "9b96dfd69e9c1de69c23205cb390550bc71c357e" + "reference": "68afb03259b82d898c68196cbcacd48596a9dd72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/9b96dfd69e9c1de69c23205cb390550bc71c357e", - "reference": "9b96dfd69e9c1de69c23205cb390550bc71c357e", + "url": "https://api.github.com/repos/laravel/socialite/zipball/68afb03259b82d898c68196cbcacd48596a9dd72", + "reference": "68afb03259b82d898c68196cbcacd48596a9dd72", "shasum": "" }, "require": { @@ -2553,7 +2553,7 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2022-02-07T16:08:19+00:00" + "time": "2022-03-10T15:26:19+00:00" }, { "name": "laravel/tinker", diff --git a/database/migrations/2022_08_20_195538_add_discord_to_users.php b/database/migrations/2022_08_20_195538_add_discord_to_users.php new file mode 100644 index 0000000..8e89fe9 --- /dev/null +++ b/database/migrations/2022_08_20_195538_add_discord_to_users.php @@ -0,0 +1,33 @@ +string('discord_token')->after('remember_token'); + $table->string('discord_refresh_token')->after('discord_token'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('discord_token', 'discord_refresh_token'); + }); + } +}; diff --git a/public/css/login.css b/public/css/login.css index 0631eca..e546cd2 100755 --- a/public/css/login.css +++ b/public/css/login.css @@ -77,5 +77,16 @@ body { .login-card-footer-nav a { font-size: 14px; color: #919aa3; } +.btn-discord { + color: #FFFFFF; + background-color: #5865f2; + border-radius: 20px; +} + +.btn-discord:hover { + border-color: #5865f2; + border-width: 1px; + background-color: #FFFFFF !important; +} /*# sourceMappingURL=login.css.map */ diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 4ef9a87..8b31fe4 100755 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -45,6 +45,10 @@ +

{{ __('OR') }}

+
+ Continue with Discord +
{{__('Forgot password?')}} diff --git a/resources/views/breadcrumbs/auth/main.blade.php b/resources/views/breadcrumbs/auth/main.blade.php index a0dca99..933e687 100755 --- a/resources/views/breadcrumbs/auth/main.blade.php +++ b/resources/views/breadcrumbs/auth/main.blade.php @@ -9,6 +9,7 @@ + diff --git a/routes/web.php b/routes/web.php index f2eeacc..a41c77c 100755 --- a/routes/web.php +++ b/routes/web.php @@ -78,10 +78,10 @@ Route::group(['prefix' => LaravelLocalization::setLocale(), 'middleware' => ['lo ->name('verify2FA'); - Route::get('/auth/redirect/discord', [LoginController::class, 'discordRedirect']) + Route::get('/redirect/discord', [LoginController::class, 'discordRedirect']) ->name('discordRedirect'); - Route::get('/auth/callback/discord', [LoginController::class, 'discordCallback']) + Route::get('/callback/discord', [LoginController::class, 'discordCallback']) ->name('discordCallback'); });