From 92b99647e269055f7d81da0cdb8385b6864ce3ab Mon Sep 17 00:00:00 2001 From: lukinovec Date: Fri, 2 Sep 2022 04:43:04 +0200 Subject: [PATCH] Add notes about guards to the user impersonation page (#197) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add notes about guards to the user impersonation page * typo Co-authored-by: Samuel Štancl --- source/docs/v3/features/user-impersonation.blade.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/docs/v3/features/user-impersonation.blade.md b/source/docs/v3/features/user-impersonation.blade.md index 1a45ac4..ee7a7cc 100644 --- a/source/docs/v3/features/user-impersonation.blade.md +++ b/source/docs/v3/features/user-impersonation.blade.md @@ -6,7 +6,9 @@ section: content # User impersonation {#user-impersonation} -This package comes with a feature that lets you impersonate users inside tenant databases. This feature works with **any identification method** and **any auth guard** — even if you use multiple. +This package comes with a feature that lets you impersonate users inside tenant databases. This feature works with **any identification method** and **any stateful auth guard** — even if you use multiple. + +> Note: If you're currently using a non-stateful auth guard (e.g., Laravel Sanctum's guard), you can still utilize user impersonation by passing a stateful guard to `tenancy()->impersonate()` (e.g. the `'web'` guard). ## How it works @@ -100,6 +102,8 @@ And that's it. The user will be redirected to your impersonation route, logged i ### Custom auth guards {#custom-auth-guards} +> Note: The auth guard used by user impersonation has to be stateful (it has to implement the `Illuminate\Contracts\Auth\StatefulGuard` interface). + If you're using multiple auth guards, you may want to specify what auth guard the impersonation logic should use. To do this, simply pass the auth guard name as the fourth argument to the `impersonate()` method. So to expand on our example above: