본문 바로가기
프로그래밍/Web

Laravel Jetstream Two Factor Authentication

by 사악신 2024. 1. 8.

Laravel Jetstream은 모든 Jetstream 애플리케이션에 대해 자동으로 2단계 인증 지원을 제공합니다. Laravel Jetstream의 보안 기능은 사용자가 오른쪽 상단의 사용자 프로필 내비게이션 드롭다운 메뉴를 통해 접근할 수 있습니다. 이 대시보드 안에서 Jetstream은 사용자가 자신의 계정에 대해 2단계 인증을 활성화하고 관리할 수 있는 뷰를 제공합니다.

사용자가 자신의 계정에 2단계 인증을 활성화할 때, 그들은 Google Authenticator와 같은 무료 TOTP 인증 애플리케이션을 사용하여 주어진 QR 코드를 스캔해야 합니다. 또한, 그들은 1Password와 같은 안전한 비밀번호 관리자에 나열된 복구 코드를 저장해야 합니다.

사용자가 모바일 장치에 접근할 수 없게 되면, Jetstream 로그인 페이지는 사용자의 모바일 장치의 인증 애플리케이션에서 제공하는 임시 토큰 대신 복구 코드 중 하나를 사용하여 인증할 수 있도록 허용합니다.

 

Actions

대부분의 Jetstream 기능들은 액션 클래스를 통해 사용자 정의할 수 있습니다. 그러나 보안을 위해, Jetstream의 2단계 인증 서비스는 Jetstream 내에 캡슐화되어 있으며 사용자 정의를 요구하지 않아야 합니다.

 

Views/Pages

일반적으로 2단계 인증 기능의 해당 뷰와 페이지는 이미 기능이 완성되어 있기 때문에 사용자 정의가 필요하지 않습니다. 그러나 이러한 페이지들에 작은 프레젠테이션 조정을 해야 할 경우를 위해 그 위치는 아래에 설명되어 있습니다.

Livewire 스택을 사용할 때 2단계 인증 관리 뷰는 resources/views/profile/two-factor-authentication-form.blade.php Blade 템플릿을 사용하여 표시됩니다. Inertia 스택을 사용할 때는 이 뷰가 resources/js/Pages/Profile/TwoFactorAuthenticationForm.vue 템플릿을 사용하여 표시됩니다.

 

Disabling Two-Factor Authentication

원한다면, 애플리케이션의 config/fortify.php 설정 파일의 features 배열에서 해당 기능을 제거함으로써 2단계 인증 지원을 비활성화할 수 있습니다.

 

use Laravel\Fortify\Features;

'features' => [
    Features::registration(),
    Features::resetPasswords(),
    Features::emailVerification(),
    Features::updateProfileInformation(),
    Features::updatePasswords(),
    // Features::twoFactorAuthentication([
    //     'confirmPassword' => true,
    // ]),
],

 

반응형

'프로그래밍 > Web' 카테고리의 다른 글

Laravel Jetstream Inertia  (0) 2024.01.08
Laravel Jetstream Browser Sessions  (0) 2024.01.08
Laravel Jetstream Password Confirmation  (0) 2024.01.08
Laravel Jetstream Password Update  (0) 2024.01.08
Laravel Jetstream Profile Management  (0) 2024.01.06

댓글