]> BookStack Code Mirror - bookstack/commitdiff
Made social account detach a POST request
authorDan Brown <redacted>
Mon, 14 Jun 2021 21:37:58 +0000 (22:37 +0100)
committerDan Brown <redacted>
Mon, 14 Jun 2021 21:37:58 +0000 (22:37 +0100)
Closes #2808

resources/views/users/edit.blade.php
routes/web.php
tests/Auth/SocialAuthTest.php

index 7fb12bd757389c0128a0e4f62f36fb03cb6e5808..5712855e6125e393c865c6f4af1fdaf94c11f5c8 100644 (file)
                                 <div role="presentation">@icon('auth/'. $driver, ['style' => 'width: 56px;height: 56px;'])</div>
                                 <div>
                                     @if($user->hasSocialAccount($driver))
-                                        <a href="{{ url("/login/service/{$driver}/detach") }}" aria-label="{{ trans('settings.users_social_disconnect') }} - {{ $driver }}"
-                                           class="button small outline">{{ trans('settings.users_social_disconnect') }}</a>
+                                        <form action="{{ url("/login/service/{$driver}/detach") }}" method="POST">
+                                            {{ csrf_field() }}
+                                            <button aria-label="{{ trans('settings.users_social_disconnect') }} - {{ $driver }}"
+                                                    class="button small outline">{{ trans('settings.users_social_disconnect') }}</button>
+                                        </form>
                                     @else
                                         <a href="{{ url("/login/service/{$driver}") }}" aria-label="{{ trans('settings.users_social_connect') }} - {{ $driver }}"
                                            class="button small outline">{{ trans('settings.users_social_connect') }}</a>
index b6eda7c5124a8e6146d9684cc4fb3022e436eb68..72d089078f701ed49b9821e8a9ad908f8bc6695a 100644 (file)
@@ -226,7 +226,7 @@ Route::group(['middleware' => 'auth'], function () {
 Route::get('/login/service/{socialDriver}', 'Auth\SocialController@login');
 Route::get('/login/service/{socialDriver}/callback', 'Auth\SocialController@callback');
 Route::group(['middleware' => 'auth'], function () {
-    Route::get('/login/service/{socialDriver}/detach', 'Auth\SocialController@detach');
+    Route::post('/login/service/{socialDriver}/detach', 'Auth\SocialController@detach');
 });
 Route::get('/register/service/{socialDriver}', 'Auth\SocialController@register');
 
index d412e8c94be16816ed9a34a37c9d515a296b2db6..60de8fbcbbcc07165081dbbfe7e6f8bd98e26740 100644 (file)
@@ -99,9 +99,9 @@ class SocialAuthTest extends TestCase
         ]);
 
         $resp = $this->actingAs($editor)->get($editor->getEditUrl());
-        $resp->assertElementContains('a[href$="/login/service/github/detach"]', 'Disconnect Account');
+        $resp->assertElementContains('form[action$="/login/service/github/detach"]', 'Disconnect Account');
 
-        $resp = $this->get('/login/service/github/detach');
+        $resp = $this->post('/login/service/github/detach');
         $resp->assertRedirect($editor->getEditUrl());
         $resp = $this->followRedirects($resp);
         $resp->assertSee('Github account was successfully disconnected from your profile.');