이제 인증 컨트롤러에 대한 라우트와 뷰가 설정되었으니, 애플리케이션에 새로운 사용자를 등록하거나 인증할 준비가 되었습니다! 기존 사용자를 인증하거나 새로운 사용자를 데이터베이스에 저장하는 (트레이트-trait를 통한) 로직은 이미 인증 컨트롤러에 포함되어 있으므로, 브라우저로 여러분의 애플리케이션에 접근하기만 하면 됩니다.

리다이렉트 경로 수정하기

사용자가 성공적으로 인증되면 /home URI로 리디렉션 됩니다. RouteServiceProvider에 정의 된 HOME 상수를 사용하여 인증 후 이동되는 경로를 커스터마이징 할 수 있습니다.

public const HOME = '/home';

사용자가 인증 될 때 반환되는 응답을 보다 강력하게 커스터마이징 해야하는 경우 라라벨은 원하는 경우 덮어 쓸 수있는 빈 authenticated(Request $request, $user)메소드를 제공합니다.

/**
 * The user has been authenticated.
 *
 * @param  \\Illuminate\\Http\\Request  $request
 * @param  mixed  $user
 * @return mixed
 */
protected function authenticated(Request $request, $user)
{
    return response([
        //
    ]);
}

어떤 사용자이름을 사용할지 결정하기

기본적으로 라라벨은 인증에 email 필드를 사용합니다. 이를 커스터마이징 하려면, LoginController의 username 메소드를 정의하면 됩니다.

public function username()
{
    return 'username';
}

Guard 커스터마이징

또한 여러분은 사용자 인증과 등록에 사용되는 "guard"를 커스터마이징 할 수 있습니다. 시작하기에 앞서, LoginController, RegisterController, 그리고 ResetPasswordController에 guard 메소드를 정의하시기 바랍니다. 이 메소드는 guard 인스턴스를 리턴해야만 합니다.

use Illuminate\\Support\\Facades\\Auth;

protected function guard()
{
    return Auth::guard('guard-name');
}

Validation-유효성 검사 / 스토리지 커스터마이징

새로운 사용자를 등록할 때 필수로 입력해야 하는 form 항목을 변경하려면, 또는 새로운 사용자가 데이터베이스에 입력되는 방식을 커스터마이징 하려면, RegisterController 클래스를 수정하면 됩니다. 이 클래스는 애플리케이션에서 새로운 사용자를 검증하고 생성하는 역할을 합니다.

RegisterController 클래스의 validator 메소드는 애플리케이션의 새로운 사용자에 대한 폼 검증 규칙을 포함하고 있으며, 여러분은 원하는대로 이 메소드를 수정해도 됩니다.

RegisterController의 create 메소드는 Eloquent ORM을 이용하여 데이터베이스에 새 App\\User 레코드를 생성합니다. 여러분은 데이터베이스의 필요에 따라 이 메소드를 수정해도 됩니다.