이 패키지는 사용자에게 로그인하는 임시 서명 경로를 제공합니다. 그것이 제공하지 않는 것은 실제로 경로로 링크를 사용자에게 전송하는 방법입니다. 사용자와 의사 소통하는 방법에 대해 가정하고 싶지 않기 때문입니다.
composer require grosv/laravel-passwordless-login
use App User ;
use Grosv LaravelPasswordlessLogin LoginUrl ;
function sendLoginLink ()
{
$ user = User :: find ( 1 );
$ generator = new LoginUrl ( $ user );
$ generator -> setRedirectUrl ( ' /somewhere/else ' ); // Override the default url to redirect to after login
$ url = $ generator -> generate ();
//OR Use a Facade
$ url = PasswordlessLogin :: forUser ( $ user )-> generate ();
// Send $url in an email or text message to your user
}
일부 사이트에는 하나 이상의 사용자 유형 모델 (사용자, 관리자 등)이 있으므로 특성을 사용하여 각 사용자 유형에 대한 기본 구성을 설정할 수 있습니다. 아래의 방법은 특성에 의해 제공되므로 다른 값을 사용하려는 방법 만 포함하면됩니다.
use Grosv LaravelPasswordlessLogin Traits PasswordlessLogin ;
use Illuminate Foundation Auth User as Authenticatable ;
class User extends Authenticatable
{
use PasswordlessLogin ;
public function getGuardNameAttribute (): string
{
return config ( ' laravel-passwordless-login.user_guard ' );
}
public function getShouldRememberLoginAttribute (): bool
{
return config ( ' laravel-passwordless-login.remember_login ' );
}
public function getLoginRouteExpiresInAttribute (): int
{
return config ( ' laravel-passwordless-login.login_route_expires ' );
}
public function getRedirectUrlAttribute (): string
{
return config ( ' laravel-passwordless-login.redirect_on_success ' );
}
}
Passwordloslogin 특성을 사용하는 경우 로그인하려는 사용자에게 createPasswordlessLoginLink()
호출하여 특성에 정의 된 기본값을 사용하여 링크를 생성 할 수 있습니다.
이 패키지로 누군가를 만드는 가장 큰 실수는 한 사용자를위한 로그인 링크를 만들어 다른 사용자에게 보내는 것입니다. 조심하고 코드를 테스트하십시오. 나는 다른 사람의 어리 석음에 대해 나에게 화를내는 사람을 원하지 않습니다.
구성 파일을 게시하거나 .env 파일에서 사용할 값을 설정할 수 있습니다.
LPL_USER_MODEL = AppUser
LPL_REMEMBER_LOGIN = false
LPL_LOGIN_ROUTE = /magic-login
LPL_LOGIN_ROUTE_NAME = magic-login
LPL_LOGIN_ROUTE_EXPIRES = 30
LPL_REDIRECT_ON_LOGIN = /
LPL_USER_GUARD = web
LPL_USE_ONCE = false
LPL_INVALID_SIGNATURE_MESSAGE = " Expired or Invalid Link "
LPL_USER_MODEL
은 로그인하는 인증 가능한 모델입니다 (일반적으로 app user)
LPL_REMEMBER_LOGIN
로그인을 기억하고 싶은지 여부입니다 (사용자 확인을 확인하십시오.
LPL_LOGIN_ROUTE
는이 패키지가 제공하는 로그인 기능을 가리키는 경로입니다. 다른 경로 중 하나와 충돌하지 않도록하십시오.
LPL_LOGIN_ROUTE_NAME
은 lpl_login_route의 이름입니다. 다시, 기존 경로 이름과 충돌하지 않도록하십시오.
LPL_LOGIN_ROUTE_EXPIRES
링크를 원하는 분 수입니다. 사용 사례에 맞는 가장 짧은 값을 설정하는 것이 좋습니다.
LPL_REDIRECT_ON_LOGIN
마법 링크를 클릭하여 로그인 한 후 사용자를 보내려는 곳입니다.
LPL_USE_ONCE
첫 번째 사용 후 만료 링크를 원하는지 여부입니다 (중고 링크를 저장하기 위해 캐시 사용)
LPL_INVALID_SIGNATURE_MESSAGE
유효하지 않거나 만료 된 링크에서 401 상태로 중단 할 때 보낸 사용자 정의 메시지입니다. 또한 Handler.php
파일에서 InvalidSignatureException
및 ExpiredSignatureException
처리하여 유효하지 않거나 만료 된 링크를 처리하는 방법에 대한 사용자 정의 로직을 추가 할 수도 있습니다.
보안 문제는 [email protected]로 직접 이메일을 보내주십시오. 다른 문제는 여기에서 문제 추적기를 사용하십시오.
모든 패키지를 개선하고 유지 관리하는 커뮤니티의 도움을 환영합니다. 서로에게 친절하십시오. 우리는 모두 최선을 다하려고 노력하고 있습니다.