Laravel 개발: Laravel Passport를 사용하여 OAuth2 인증을 구현하는 방법은 무엇입니까?
Laravel 개발: Laravel Passport를 사용하여 OAuth2 인증을 구현하는 방법은 무엇입니까?
Laravel은 효율적이고 확장 가능하며 유지 관리가 쉬운 웹 애플리케이션을 쉽게 구축할 수 있게 해주는 인기 있는 PHP 웹 개발 프레임워크입니다. Laravel에는 Laravel Passport를 포함한 많은 기능과 구성 요소가 있습니다. Laravel Passport는 개발자가 애플리케이션에 보안 인증을 쉽게 추가할 수 있도록 도와주는 완전한 OAuth2 서버 구현입니다.
OAuth2는 API 보안을 위한 인증 표준이며 타사 애플리케이션이 API를 통해 사용자 데이터에 액세스할 수 있도록 하는 안전한 방법입니다. Facebook, Google, GitHub, Twitter 등 많은 기업과 조직에서 사용하는 개방형 표준입니다. Laravel Passport는 Laravel 프레임워크의 공식 OAuth2 서버 구현입니다.
아래에서는 Laravel Passport를 사용하여 OAuth2 인증을 구현하는 방법을 보여드리겠습니다.
1단계: Laravel Passport 설치
Composer를 사용하여 Laravel Passport를 설치하세요. 명령줄에 다음 명령을 입력하세요:
composer require laravel/passport
설치가 완료되면 다음 명령을 실행하여 Passport의 구성 파일과 데이터베이스 마이그레이션을 게시하세요.
php artisan passport:install
이 명령은 암호화 키와 생성에 사용되는 데이터베이스 테이블을 생성합니다. 액세스 토큰.
2단계: Passport 설정
Laravel 애플리케이션에서 Passport를 활성화하세요. config/app.php
파일을 편집하고 LaravelPassportPassportServiceProvider::class,
를 Provide 배열에 추가하세요. config/app.php
文件,将LaravelPassportPassportServiceProvider::class,
添加到Provide数组中。
在AppUser
模型中实现LaravelPassportHasApiTokens
trait。这个Trait将会给用户模型添加一些有关API用户的方法。
接下来,运行数据迁移以创建Passport使用的数据库表结构。
php artisan migrate
步骤3:在Passport中设置客户端
Passport在内部使用了OAuth2客户端-服务器模型。开发人员需要为其客户端创建唯一的“客户端ID”和“客户端密码”。在Laravel Passport中,要创建一个新的客户端,可以使用php artisan passport:client
命令。此命令将生成一个客户端ID和客户端密码,这些信息必须妥善存储,以便在API中使用。
php artisan passport:client --client
步骤4:定义API路由
在routes/api.php
文件中定义您的API路由。Passport包括一个名为auth:api
AppUser
모델에서 LaravelPassportHasApiTokens
특성을 구현하세요. 이 트레이트는 API 사용자와 관련된 몇 가지 메소드를 사용자 모델에 추가합니다. 다음으로 데이터 마이그레이션을 실행하여 Passport에서 사용하는 데이터베이스 테이블 구조를 만듭니다. Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
php artisan Passport:client
명령을 사용할 수 있습니다. 이 명령은 API에서 사용하기 위해 적절하게 저장되어야 하는 클라이언트 ID와 클라이언트 비밀번호를 생성합니다. POST /oauth/token HTTP/1.1 Host: your-app.com Content-Type: application/x-www-form-urlencoded grant_type=password& client_id=client-id& client_secret=client-secret& username=user@your-app.com& password=user-password&
routes/api.php
파일에서 API 경로를 정의하세요. Passport에는 요청에 유효한 액세스 토큰이 포함되어 있는지 확인하기 위한 auth:api
라는 미들웨어가 포함되어 있습니다. 보호된 경로를 보호하려면 이 미들웨어를 사용해야 합니다. 예: { "token_type": "Bearer", "expires_in": 31536000, "access_token": "eyJ0eXAiOiJKV1QiLCJ...", "refresh_token": "def5020086062f..." }
GET /api/user HTTP/1.1 Host: your-app.com Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ...
rrreee
passport:install 명령을 전달하면 액세스 토큰을 생성하는 데 사용되는 암호화 키가 생성됩니다. 6단계: 액세스 토큰을 사용하여 API 호출 🎜🎜마지막으로 액세스 토큰을 사용하여 보호된 API 엔드포인트를 호출합니다. 요청 헤더를 설정할 때 Bearer 인증 프로토콜을 사용하고 요청에 "Authorization" 헤더를 지정해야 합니다. 🎜🎜예: 🎜rrreee🎜이것은 현재 인증된 사용자의 JSON 표현을 반환합니다. 🎜🎜결론: 🎜🎜Laravel Passport는 OAuth2 인증 흐름을 구현하는 편리한 방법을 제공합니다. 이를 통해 개발자는 Laravel 애플리케이션에 OAuth2 기능을 신속하게 추가하여 API를 더욱 안전하게 만들 수 있습니다. 위의 단계를 통해 Laravel Passport를 사용하여 Laravel에서 OAuth2 인증을 구현하는 방법을 배울 수 있습니다. 🎜위 내용은 Laravel 개발: Laravel Passport를 사용하여 OAuth2 인증을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel - Artisan Commands - Laravel 5.7은 새로운 명령을 처리하고 테스트하는 새로운 방법을 제공합니다. 여기에는 장인 명령을 테스트하는 새로운 기능이 포함되어 있으며 데모는 아래에 언급되어 있습니다.

Laravel - 페이지 매김 사용자 정의 - Laravel에는 사용자나 개발자가 페이지 매김 기능을 포함하는 데 도움이 되는 페이지 매김 기능이 포함되어 있습니다. Laravel 페이지네이터는 쿼리 빌더 및 Eloquent ORM과 통합되어 있습니다. 자동 페이지 매김 방법

Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

laravel 일정 작업 실행 비 응답 문제 해결 Laravel의 일정 작업 일정을 사용할 때 많은 개발자 가이 문제에 직면합니다 : 스케줄 : 실행 ...

Laravel의 이메일을 처리하지 않는 방법은 LaRavel을 사용하는 것입니다.

DCAT를 사용할 때 DCATADMIN (LARAVEL-ADMIN)에서 데이터를 추가하려면 사용자 정의의 테이블 기능을 구현하는 방법 ...

Laravel - 덤프 서버 - Laravel 덤프 서버는 Laravel 5.7 버전과 함께 제공됩니다. 이전 버전에는 덤프 서버가 포함되어 있지 않습니다. 덤프 서버는 laravel/laravel 작곡가 파일의 개발 종속성이 됩니다.

Laravel 프레임 워크 및 Laravel 프레임 워크 및 Redis를 사용할 때 Redis 연결을 공유하는 데 영향을 줄 수 있습니다. 개발자는 문제가 발생할 수 있습니다. 구성을 통해 ...
