Laravel44 Laravel Inertia - Redirects 리다이렉트 Inertia를 사용하여 non-GET 요청을 수동으로 하거나 요소를 통해 수행할 때, 항상 적절한 Inertia 리다이렉트 응답으로 응답하는 것이 중요합니다. 예를 들어, 컨트롤러가 새로운 사용자를 생성하는 경우, "store" 엔드포인트는 사용자 "index" 페이지와 같은 표준 GET 엔드포인트로 리다이렉트되어야 합니다. Inertia는 이 리다이렉트를 자동으로 따라가고 페이지를 그에 맞게 업데이트합니다. class UsersController extends Controller { public function index() { return Inertia::render('Users/Index', [ 'users' => User::all(), ]); } publi.. 2024. 1. 18. Laravel Inertia - Responses Responses 응답 Creating responses 응답 생성하기 Inertia 응답을 생성하는 것은 간단합니다. 시작하려면, 컨트롤러나 라우트 내에서 Inertia::render() 메소드를 호출하고, 렌더링하고자 하는 JavaScript 페이지 컴포넌트의 이름과 페이지에 대한 props(데이터)를 제공하면 됩니다. 아래 예제에서, 단일 prop(event)을 Event/Show 페이지 컴포넌트에 전달합니다. 이 prop에는 네 개의 속성(id, title, start_date, description)이 포함됩니다. use Inertia\Inertia; class EventsController extends Controller { public function show(Event $event) { .. 2024. 1. 18. Laravel Inertia - Pages Inertia 를 사용하여 애플리케이션을 구축할 때, 애플리케이션의 각 페이지는 일반적으로 자체 컨트롤러/라우트와 해당하는 JavaScript 컴포넌트를 가집니다. 이를 통해 해당 페이지에 필요한 데이터만 검색할 수 있으며, API는 필요하지 않습니다. 또한, 페이지에 필요한 모든 데이터는 브라우저에서 페이지가 렌더링되기 전에 검색될 수 있어, 사용자가 애플리케이션을 방문할 때 "loading" 상태를 표시할 필요가 없어집니다. Creating pages 페이지 생성하기 Inertia 페이지는 단순히 JavaScript 컴포넌트입니다. Vue, React, 또는 Svelte 컴포넌트를 작성해본 적이 있다면 금방 익숙해질 것입니다. 아래 예시에서 볼 수 있듯이, 페이지는 애플리케이션의 컨트롤러로부터 pro.. 2024. 1. 18. Laravel Inertia Client-side 설치 Inertia.js의 클라이언트 측 설정 과정은 서버 측 프레임워크를 설정한 후에 이루어집니다. Inertia는 현재 React, Vue, Svelte를 지원합니다. Laravel starter kits Laravel의 스타터 키트인 Breeze와 Jetstream은 Inertia 애플리케이션을 위한 준비된 스캐폴딩을 제공합니다. 이 스타터 키트들은 Laravel 및 Vue 또는 React를 사용하여 새로운 Inertia 프로젝트를 시작하는 가장 빠른 방법입니다. 수동으로 Inertia를 설치하려면 아래 문서를 참조하십시오. Install dependencies 우선, 선택한 프레임워크에 해당하는 Inertia 클라이언트 측 어댑터를 설치합니다. npm install @inertiajs/vue3 Init.. 2024. 1. 10. Laravel Inertia Server-side 설치 Inertia.js 서버 측 설정의 첫 단계는 서버 측 프레임워크를 구성하는 것입니다. Inertia는 Laravel을 위한 공식 서버 측 어댑터를 유지하고 있습니다. 다른 프레임워크를 사용하는 경우 해당 어댑터가 유지하는 프레임워크별 문서를 참조하십시오. Laravel Stater kits Laravel의 스타터 키트인 Breeze와 Jetstream은 Inertia 애플리케이션을 위한 즉시 사용 가능한 스캐폴딩을 제공합니다. 이러한 스타터 키트는 Laravel 및 Vue 또는 React를 사용하여 새로운 Inertia 프로젝트를 시작하는 가장 빠른 방법입니다. 그러나 Inertia를 수동으로 설치하려면 아래 내용을 참조하십시오. Install dependencies 먼저 Composer 패키지 관리자.. 2024. 1. 10. Laravel Jetstream Inertia Jetstream이 제공하는 Inertia 스택은 Vue.js를 템플릿 언어로 사용합니다. Inertia 애플리케이션을 구축하는 것은 일반적인 Vue 애플리케이션을 구축하는 것과 많이 비슷하지만, Vue 라우터 대신 Laravel의 라우터를 사용하게 됩니다. Inertia는 Laravel 백엔드에서 단일 파일 Vue 컴포넌트를 렌더링할 수 있게 해주는 작은 라이브러리로, 컴포넌트의 이름과 해당 컴포넌트의 "props"로 채워질 데이터를 제공함으로써 작동합니다. 다시 말해, 이 스택은 클라이언트 측 라우팅의 복잡성 없이 Vue.js의 전체 기능을 제공합니다. Inertia 스택은 Vue.js를 템플릿 언어로 사용하는 것에 익숙하고 즐기는 경우에 좋은 선택입니다. Inertia를 사용할 때, 애플리케이션의 .. 2024. 1. 8. Laravel Jetstream Browser Sessions Laravel Jetstream의 보안 기능은 사용자가 오른쪽 상단의 사용자 프로필 내비게이션 드롭다운 메뉴를 통해 접근할 수 있습니다. 이 대시보드 내에서, Jetstream은 사용자가 자신의 계정과 연결된 브라우저 세션을 보는 것을 허용하는 뷰를 제공합니다. 또한, 사용자는 현재 사용 중인 장치 외의 다른 브라우저 세션에서 "로그아웃"할 수 있습니다. 이 기능은 Laravel의 내장된 Illuminate\Session\Middleware\AuthenticateSession 미들웨어를 활용하여 현재 사용자로 인증된 다른 브라우저 세션들을 안전하게 로그아웃합니다. Jetstream 내에서 브라우저 세션 관리를 활용하려면, 세션 설정의 드라이버(또는 SESSION_DRIVER 환경 변수)가 'databas.. 2024. 1. 8. Laravel Jetstream Two Factor Authentication Laravel Jetstream은 모든 Jetstream 애플리케이션에 대해 자동으로 2단계 인증 지원을 제공합니다. Laravel Jetstream의 보안 기능은 사용자가 오른쪽 상단의 사용자 프로필 내비게이션 드롭다운 메뉴를 통해 접근할 수 있습니다. 이 대시보드 안에서 Jetstream은 사용자가 자신의 계정에 대해 2단계 인증을 활성화하고 관리할 수 있는 뷰를 제공합니다. 사용자가 자신의 계정에 2단계 인증을 활성화할 때, 그들은 Google Authenticator와 같은 무료 TOTP 인증 애플리케이션을 사용하여 주어진 QR 코드를 스캔해야 합니다. 또한, 그들은 1Password와 같은 안전한 비밀번호 관리자에 나열된 복구 코드를 저장해야 합니다. 사용자가 모바일 장치에 접근할 수 없게 되면.. 2024. 1. 8. Laravel Jetstream Password Confirmation 애플리케이션을 구축하는 동안, 특정 행동을 수행하기 전에 사용자가 자신의 비밀번호를 확인해야 하는 경우가 간혹 있을 수 있습니다. 예를 들어, 제트스트림 자체는 사용자가 이중 인증 설정을 변경하기 전에 비밀번호를 확인하도록 요구합니다. 다행히도, 제트스트림은 이를 간단하게 구현할 수 있는 내장 기능을 제공합니다. 제트스트림은 비밀번호 확인을 위해 두 가지 접근 방식을 제공합니다: Redirect Based Password Confirmation 리디렉트 기반 비밀번호 확인은 사용자가 애플리케이션에 의해 렌더링된 전체 화면, 예를 들어 결제 설정 화면에 액세스하기 전에 비밀번호를 확인해야 할 때 일반적으로 사용됩니다. 이 비밀번호 확인 형태는 사용자를 전용 비밀번호 확인 화면으로 리디렉션합니다. 여기서 사.. 2024. 1. 8. Laravel Jetstream Password Update 라라벨 제트스트림의 보안 기능은 사용자가 오른쪽 상단의 사용자 프로필 탐색 드롭다운 메뉴를 사용하여 접근할 수 있습니다. 이 대시보드 내에서, 제트스트림은 사용자가 계정과 관련된 비밀번호를 업데이트할 수 있도록 뷰를 구조화합니다. Actions 대부분의 제트스트림 기능과 마찬가지로, 기능을 구현하는 데 사용되는 기본 로직은 해당하는 액션 클래스를 수정함으로써 사용자 정의될 수 있습니다. 사용자가 비밀번호를 업데이트할 때 `App\Actions\Fortify\UpdateUserPassword` 클래스가 호출됩니다. 이 액션은 입력을 검증하고 사용자의 비밀번호를 업데이트하는 책임이 있습니다. 이 액션은 비밀번호에 적용될 검증 규칙을 결정하기 위해 `App\Actions\Fortify\PasswordValid.. 2024. 1. 8. Laravel Jetstream Profile Management 라라벨 제트스트림의 프로필 관리 기능은 사용자가 오른쪽 상단의 사용자 프로필 탐색 드롭다운 메뉴를 사용하여 접근할 수 있습니다. 제트스트림은 사용자가 이름, 이메일 주소 및 선택적으로 프로필 사진을 업데이트할 수 있도록 뷰와 액션을 구조화합니다. Actions 대부분의 제트스트림 기능과 마찬가지로, 프로필 업데이트 요청을 충족하기 위해 실행되는 로직은 애플리케이션 내의 액션 클래스에서 찾을 수 있습니다. 구체적으로, 사용자가 프로필을 업데이트할 때 `App\Actions\Fortify\UpdateUserProfileInformation` 클래스가 호출됩니다. 이 액션은 입력을 검증하고 사용자의 프로필 정보를 업데이트하는 책임이 있습니다. 따라서, 이 정보의 관리에 대해 애플리케이션에서 하고자 하는 모든 .. 2024. 1. 6. Laravel Jetstream Registration 물론, 누군가가 애플리케이션을 사용하기 전에 계정을 생성해야 합니다. 다행히도, 제트스트림은 사용자 등록을 처리하는 등록 뷰와 해당 액션을 제공하여, 애플리케이션 구축에 집중할 수 있도록 합니다. Actions 대부분의 제트스트림 기능과 마찬가지로, 등록 요청을 충족하기 위해 실행되는 로직은 애플리케이션 내의 액션 클래스에서 찾을 수 있습니다. 액션은 제트스트림 또는 포티파이 기능과 관련된 단일 작업을 수행하는 세부적인 클래스입니다. 구체적으로, 사용자가 애플리케이션에 등록할 때 `App\Actions\Fortify\CreateNewUser` 클래스가 호출됩니다. 이 액션은 들어오는 요청 입력을 검증하고 사용자를 생성하는 책임이 있습니다. 따라서 사용자 생성 로직에 대해 하고자 하는 모든 사용자 정의는 .. 2024. 1. 6. Laravel Jetstream Authentication 라라벨 제트스트림은 로그인, 이중 인증 로그인, 등록, 비밀번호 재설정, 이메일 인증 기능을 자동으로 구조화하여 프로젝트에 대해 제공합니다. 이를 통해 사용자 인증의 세부 사항에 대해 걱정하지 않고 중요하게 생각하는 기능을 구축하기 시작할 수 있습니다. Laravel Fortify 내부적으로, 제트스트림의 인증 부분은 라라벨 포티파이(Laravel Fortify)에 의해 구동되며, 이는 라라벨을 위한 프론트엔드에 구애받지 않는 인증 백엔드입니다. 본질적으로, 포티파이는 애플리케이션의 인증 기능을 구현하기 위한 경로와 컨트롤러를 정의하는 반면, 제트스트림 UI는 그 경로로 요청을 보냅니다. 제트스트림이 설치되면, `config/fortify.php` 설정 파일이 애플리케이션에 설치됩니다. 이 설정 파일 내.. 2024. 1. 6. Laravel Jetstream API 제트스트림은 라라벨 생텀(Laravel Sanctum)과의 first-party 통합을 포함합니다. 라라벨 생텀은 SPA(싱글 페이지 애플리케이션), 모바일 애플리케이션, 그리고 간단한 토큰 기반 API를 위한 경량 인증 시스템을 제공합니다. 생텀은 애플리케이션의 각 사용자가 자신의 계정에 대해 여러 API 토큰을 생성할 수 있게 해줍니다. 이 토큰들은 어떤 작업을 수행할 수 있는지 지정하는 능력/권한을 부여받을 수 있습니다. 기본적으로, API 토큰 생성 패널은 오른쪽 상단의 사용자 프로필 드롭다운 메뉴의 "API" 링크를 사용하여 접근할 수 있습니다. 이 화면에서 사용자는 다양한 권한을 가진 생크텀 API 토큰을 생성할 수 있습니다. Enabling API Support 애플리케이션이 제3자에 의해 .. 2024. 1. 6. Laravel Jetstream Teams --teams 옵션을 사용하여 제트스트림(Jetstream)을 설치한 경우, 애플리케이션은 팀 생성 및 관리를 지원하도록 구조화될 것입니다. 제트스트림의 팀 기능은 각 등록된 사용자가 여러 팀을 생성하고 소속될 수 있도록 합니다. 기본적으로 모든 등록된 사용자는 "Personal" 팀에 속하게 됩니다. 예를 들어, "Sally Jones"라는 이름의 사용자가 새 계정을 생성하면 "Sally's Team"이라는 팀에 할당됩니다. 등록 후 사용자는 이 팀의 이름을 변경하거나 추가 팀을 생성할 수 있습니다. 제트스트림의 팀 구조화와 방식이 모든 애플리케이션에 적합하지 않을 수 있습니다. 사용 사례에 맞지 않는다면, 팀 기반의 제트스트림 애플리케이션이 아닌 애플리케이션을 생성하고 자신의 필요에 따라 수동으로 팀.. 2024. 1. 6. 이전 1 2 3 다음