Skip to content

Commit 4500333

Browse files
committed
add logout response
1 parent 2ba018b commit 4500333

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
namespace Laravel\Nova\Auth\Actions;
4+
5+
use Illuminate\Http\JsonResponse;
6+
use Laravel\Fortify\Contracts\LogoutResponse as Responsable;
7+
use Laravel\Nova\Nova;
8+
9+
class LogoutResponse implements Responsable
10+
{
11+
/**
12+
* Create an HTTP response that represents the object.
13+
*
14+
* @param \Illuminate\Http\Request $request
15+
* @return \Symfony\Component\HttpFoundation\Response
16+
*/
17+
public function toResponse($request)
18+
{
19+
$redirect = redirect()->intended(route('welcome'));
20+
21+
return $request->wantsJson()
22+
? new JsonResponse([
23+
'redirect' => $redirect->getTargetUrl(),
24+
], 200)
25+
: $redirect;
26+
}
27+
}

src/PendingFortifyConfiguration.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Laravel\Fortify\Contracts\FailedPasswordConfirmationResponse as FailedPasswordConfirmationResponseContract;
1515
use Laravel\Fortify\Contracts\LoginResponse as LoginResponseContract;
1616
use Laravel\Fortify\Contracts\LoginViewResponse as LoginViewResponseContract;
17+
use Laravel\Fortify\Contracts\LogoutResponse as LogoutResponseContract;
1718
use Laravel\Fortify\Contracts\PasswordConfirmedResponse as PasswordConfirmedResponseContract;
1819
use Laravel\Fortify\Contracts\PasswordUpdateResponse as PasswordUpdateResponseContract;
1920
use Laravel\Fortify\Contracts\RequestPasswordResetLinkViewResponse as RequestPasswordResetLinkViewResponseContract;
@@ -30,6 +31,7 @@
3031
use Laravel\Nova\Auth\Actions\FailedPasswordConfirmationResponse;
3132
use Laravel\Nova\Auth\Actions\LoginResponse;
3233
use Laravel\Nova\Auth\Actions\LoginViewResponse;
34+
use Laravel\Nova\Auth\Actions\LogoutResponse;
3335
use Laravel\Nova\Auth\Actions\PasswordConfirmedResponse;
3436
use Laravel\Nova\Auth\Actions\PasswordUpdateResponse;
3537
use Laravel\Nova\Auth\Actions\RedirectAsIntendedForNova;
@@ -345,6 +347,7 @@ public function bootstrap(Application $app): void
345347

346348
$app->scoped(LoginViewResponseContract::class, LoginViewResponse::class);
347349
$app->scoped(LoginResponseContract::class, LoginResponse::class);
350+
$app->scoped(LogoutResponseContract::class, LogoutResponse::class);
348351

349352
$app->scoped(ResetPasswordViewResponseContract::class, ResetPasswordViewResponse::class);
350353
$app->scoped(RequestPasswordResetLinkViewResponseContract::class, RequestPasswordResetLinkViewResponse::class);

0 commit comments

Comments
 (0)