PHP 프레임워크 Laravel Laravel 개발: Laravel Passport 및 Lumen을 사용하여 API 인증을 구현하는 방법은 무엇입니까?

Laravel 개발: Laravel Passport 및 Lumen을 사용하여 API 인증을 구현하는 방법은 무엇입니까?

Jun 15, 2023 pm 08:35 PM
lumen API 인증 laravel passport

모바일 기술과 클라우드 컴퓨팅의 급속한 발전으로 많은 기업이 자체 API 서비스를 개발하여 핵심 비즈니스의 일부로 만들었습니다. 이 프로세스에서는 API 데이터를 보호하고 승인된 사용자만 이 API 데이터에 액세스할 수 있도록 하는 것이 매우 중요합니다. 따라서 API 인증이 중요한 주제가 됩니다. Laravel과 Lumen에서는 Laravel Passport를 사용하여 API 인증을 구현할 수 있습니다.

Laravel Passport는 OAuth2 표준을 기반으로 한 API 인증 시스템입니다. API 인증을 생성하는 쉬운 방법을 제공하고 여러 클라이언트 및 인증 방법을 지원합니다. 이번 글에서는 Laravel Passport와 Lumen을 사용하여 API 인증을 구현하는 방법을 다뤄보겠습니다.

Laravel Passport 설치 및 구성

먼저 Laravel 프로젝트에 Laravel Passport를 설치해야 합니다. 다음 명령을 사용하여 설치하십시오.

composer require laravel/passport
로그인 후 복사

설치를 완료한 후 다음 명령을 실행하여 필요한 마이그레이션을 수행해야 합니다.

php artisan migrate

php artisan passport:install
로그인 후 복사

위의 passport:install 명령은 클라이언트와 키를 생성합니다. 신원 확인. 또한 시작 서비스 공급자에서 Laravel Passport가 제공하는 Passport::routes() 메서드를 사용하여 인증 경로를 등록해야 합니다. passport:install命令将创建客户端和密钥,以便进行身份验证。我们还需要在启动服务提供者中使用Laravel Passport提供的Passport::routes()方法来注册身份验证路由:

// app/Providers/AuthServiceProvider.php

use LaravelPassportPassport;

// ...

public function boot() 
{
    // ...
    
    Passport::routes();
}
로그인 후 복사

这将注册Laravel Passport提供的路由,以便我们可以使用它来进行身份验证。同时,我们还需要在config/auth.php配置文件中选择passport驱动:

'guards' => [
    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],
로그인 후 복사

Lumen中使用Laravel Passport

如果我们的项目是使用Lumen框架创建的,那么我们可以使用Laravel Passport的Lumen版本,它提供了与Lumen兼容的方式。我们可以使用以下命令安装Laravel Passport:

composer require dusterio/lumen-passport
로그인 후 복사

安装完成后,我们需要在bootstrap/app.php文件中添加以下两行代码来注册Lumen Passport的服务提供者:

$app->register(DusterioLumenPassportPassportServiceProvider::class);
$app->configure('auth');
로그인 후 복사

在完成注册后,我们需要注册路由和中间件。我们可以在app/Http/routes.php文件中添加以下代码来注册Lumen Passport提供的路由:

$app->group(['middleware' => ['api']], function ($app) {
    DusterioLumenPassportLumenPassport::routes($app, ['prefix' => 'auth']);
});
로그인 후 복사

以上代码中,prefix选项指定了路由前缀,middleware指定了使用的中间件。

接下来,我们需要添加Lumen Passport提供的中间件。在bootstrap/app.php文件中,添加以下代码来注册中间件:

$app->middleware([
    // ...
    DusterioLumenPassportHttpMiddlewareAddCustomHeaders::class,
]);
로그인 후 복사

注册完毕后,我们就完成了Lumen中使用Laravel Passport的配置工作。

使用密码授权方式进行身份验证

一旦我们完成了Laravel Passport的配置,我们就可以使用密码授权方式来进行身份验证。在这种授权方式下,客户端需要使用客户端ID和秘钥来请求访问令牌,然后使用该访问令牌来请求受保护的API资源。

我们可以使用以下代码来请求访问令牌:

$postData = [
    'grant_type' => 'password',
    'client_id' => '{client-id}',
    'client_secret' => '{client-secret}',
    'username' => '{username}',
    'password' => '{password}',
    'scope' => '',
];

$ch = curl_init('http://api.example.com/oauth/token');
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

$accessToken = json_decode($response)->access_token;
로그인 후 복사

在以上代码中,我们使用了curl库来向我们的API服务请求访问令牌。请注意,{client-id}{client-secret}需要替换为真实的客户端ID和秘钥,{username}{password}

$response = Http::withHeaders([
    'Authorization' => 'Bearer ' . $accessToken,
])->get('http://api.example.com/api/user');
로그인 후 복사
이렇게 하면 Laravel Passport에서 제공하는 경로를 등록하여 인증에 사용할 수 있습니다. 동시에 config/auth.php 구성 파일에서 passport 드라이버도 선택해야 합니다:

rrreee

Using Laravel Passport in Lumen

우리 프로젝트가 Lumen 프레임워크를 사용하여 생성된 경우, 그런 다음 Lumen 호환 방식을 제공하는 Laravel Passport의 Lumen 버전을 사용할 수 있습니다. 다음 명령을 사용하여 Laravel Passport를 설치할 수 있습니다.

rrreee

설치가 완료된 후 bootstrap/app.php 파일에 다음 두 줄의 코드를 추가하여 Lumen Passport 서비스 공급자를 등록해야 합니다.

rrreee

After 등록을 완료하려면 등록 경로와 미들웨어가 필요합니다. app/Http/routes.php 파일에 다음 코드를 추가하여 Lumen Passport에서 제공하는 경로를 등록할 수 있습니다. 🎜rrreee🎜위 코드에서 prefix 옵션은 경로 접두사 를 지정합니다. >middleware code>는 사용되는 미들웨어를 지정합니다. 🎜🎜다음으로 Lumen Passport에서 제공하는 미들웨어를 추가해야 합니다. bootstrap/app.php 파일에 다음 코드를 추가하여 미들웨어를 등록합니다. 🎜rrreee🎜등록이 완료되면 Lumen에서 Laravel Passport를 사용할 수 있도록 구성이 완료되었습니다. 🎜🎜인증을 위해 비밀번호 인증 사용🎜🎜Laravel Passport 구성이 완료되면 인증을 위해 비밀번호 인증을 사용할 수 있습니다. 이 인증 방법에서 클라이언트는 클라이언트 ID와 비밀 키를 사용하여 액세스 토큰을 요청한 다음 액세스 토큰을 사용하여 보호된 API 리소스를 요청해야 합니다. 🎜🎜 다음 코드를 사용하여 액세스 토큰을 요청할 수 있습니다. 🎜rrreee🎜 위 코드에서는 컬 라이브러리를 사용하여 API 서비스에서 액세스 토큰을 요청했습니다. <code>{client-id}{client-secret}는 실제 클라이언트 ID 및 비밀번호인 {username}으로 바꿔야 합니다. 및 {password}는 실제 사용자 자격 증명으로 바꿔야 합니다. 🎜🎜액세스 토큰을 얻으면 이를 사용하여 보호된 API 리소스에 액세스할 수 있습니다. API에 접근할 때 Authorization 헤더에 접근 토큰을 넣어야 합니다. 다음 코드를 사용하여 Laravel에서 이 작업을 수행할 수 있습니다: 🎜rrreee🎜 위 코드에서는 Laravel의 HTTP 클라이언트를 사용하여 API에 액세스합니다. 클라이언트가 요청하면 API 서비스가 토큰의 유효성을 검사하고 보호된 리소스를 반환할 수 있도록 Authorization 헤더에 액세스 토큰을 넣습니다. 🎜🎜결론🎜🎜Laravel Passport와 Lumen을 사용하면 API 서비스에 강력한 인증 기능을 추가할 수 있습니다. API 인증을 구현할 때 OAuth2 인증 프로토콜과 인증 방법을 이해해야 합니다. 비밀번호 승인을 사용할 때 클라이언트는 클라이언트 ID와 비밀 키를 사용하여 액세스 토큰을 요청해야 합니다. 액세스 토큰을 얻으면 이를 사용하여 보호된 API 리소스에 액세스할 수 있습니다. 🎜

위 내용은 Laravel 개발: Laravel Passport 및 Lumen을 사용하여 API 인증을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP에서 API 인증을 위해 OpenID Connect를 사용하는 방법 PHP에서 API 인증을 위해 OpenID Connect를 사용하는 방법 Jun 17, 2023 pm 07:33 PM

오늘날 디지털 시대에 API 인증은 널리 사용되는 기술적 수단이 되었습니다. API 정보를 안전하게 유지하기 위해 많은 웹사이트와 애플리케이션에서는 인증을 위해 OpenIDConnect 프로토콜을 사용합니다. 이 프로토콜을 사용하면 타사 ID 공급자(IdP)를 사용하여 사용자를 인증하고 API에 ID 토큰 및 액세스 토큰을 교환할 수 있는 기능을 제공할 수 있습니다. 이 기사에서는 PHP에서 API 인증을 위해 OpenIDConnect를 사용하는 방법을 살펴보겠습니다. PHP 개발 설치

PHP 프레임워크 Lumen을 사용하여 효율적인 메시지 푸시 시스템을 개발하고 적시에 푸시 서비스를 제공하는 방법 PHP 프레임워크 Lumen을 사용하여 효율적인 메시지 푸시 시스템을 개발하고 적시에 푸시 서비스를 제공하는 방법 Jun 27, 2023 am 11:43 AM

모바일 인터넷의 급속한 발전과 사용자 요구의 변화로 인해 메시지 푸시 시스템은 현대 애플리케이션에서 없어서는 안될 부분이 되었습니다. 이는 즉각적인 알림, 알림, 프로모션, 소셜 네트워킹 및 기타 기능을 실현하여 사용자와 비즈니스 고객에게 더 나은 서비스를 제공할 수 있습니다. .경험과 서비스. 이러한 요구를 충족하기 위해 이 기사에서는 PHP 프레임워크 Lumen을 사용하여 적시에 푸시 서비스를 제공하는 효율적인 메시지 푸시 시스템을 개발하는 방법을 소개합니다. 1. Lumen 소개 Lumen은 Laravel 프레임워크 개발팀에서 개발한 마이크로 프레임워크입니다.

PHP에서 Lumen 프레임워크를 사용하는 방법 PHP에서 Lumen 프레임워크를 사용하는 방법 Jun 27, 2023 pm 04:49 PM

PHP에서 Lumen 프레임워크를 사용하는 방법 Lumen은 Laravel 프레임워크의 단순화된 버전으로, 경량 마이크로서비스 및 API 애플리케이션을 빠르게 구축하는 데 중점을 둡니다. Lumen은 Taylor Otwell이 만들고 유지 관리하는 오픈 소스 프레임워크입니다. 놀라운 속도와 성능으로 유명합니다. 이번 글에서는 PHP에서 Lumen 프레임워크를 사용하는 방법을 소개하겠습니다. 1. Lumen 프레임워크 설치 및 구성 먼저 시스템에 작성기 도구를 설치해야 합니다. 광고

Laravel 개발: Laravel Passport 및 Lumen을 사용하여 API 인증을 구현하는 방법은 무엇입니까? Laravel 개발: Laravel Passport 및 Lumen을 사용하여 API 인증을 구현하는 방법은 무엇입니까? Jun 15, 2023 pm 08:35 PM

모바일 기술과 클라우드 컴퓨팅의 급속한 발전으로 많은 기업이 자체 API 서비스를 개발하여 핵심 비즈니스의 일부로 만들었습니다. 이 프로세스에서는 API 데이터를 보호하고 승인된 사용자만 이 API 데이터에 액세스할 수 있도록 하는 것이 매우 중요합니다. 따라서 API 인증이 중요한 주제가 됩니다. Laravel과 Lumen에서는 LaravelPassport를 사용하여 API 인증을 구현할 수 있습니다. LaravelPassport는 OA 기반입니다.

Lumen 마이크로프레임워크에서 PSR2 및 PSR4 사양 적용 및 홍보 Lumen 마이크로프레임워크에서 PSR2 및 PSR4 사양 적용 및 홍보 Oct 15, 2023 am 11:21 AM

Lumen 마이크로프레임워크에서 PSR2 및 PSR4 사양의 적용 및 홍보 소개: PHP 언어의 광범위한 적용 및 개발로 인해 코드 사양은 코드 품질과 가독성을 유지하는 데 중요한 측면이 되었습니다. PHPFIG(PHPFIG, PHPFrameworkInteropGroup)는 PHP 개발에 대한 일련의 모범 사례 사양(PSR, PHPStandardsRecommendations)을 만들었으며 그 중 PSR2 및 PSR이 포함됩니다.

PHP 프레임워크 Lumen을 사용하여 효율적인 메시지 대기열 시스템을 개발하는 방법 PHP 프레임워크 Lumen을 사용하여 효율적인 메시지 대기열 시스템을 개발하는 방법 Jun 27, 2023 pm 03:46 PM

인터넷의 지속적인 발전으로 인해 데이터의 양은 점점 더 많아지고 있으며, 이러한 대규모 데이터를 처리하기 위해서는 보다 효율적인 방법이 필요합니다. 메시지 큐 시스템은 이 문제를 해결하는 효과적인 수단입니다. PHP는 인터넷 개발에 널리 사용되는 매우 인기 있는 프로그래밍 언어입니다. WordPress, Drupal 및 Joomla와 같은 가장 인기 있는 CMS 중 일부는 PHP로 작성되었습니다. PHP 프레임워크 중 Lumen은 효율적인 웹 애플리케이션 및 AP 구축을 위한 경량 프레임워크입니다.

Laravel Passport를 사용하여 PHP 보안 확인 구현 Laravel Passport를 사용하여 PHP 보안 확인 구현 Jul 25, 2023 pm 09:33 PM

LaravelPassport를 사용한 PHP 보안 검증 소개: 현대 웹 개발에서 사용자 인증 및 권한 부여는 매우 중요한 보안 기능입니다. LaravelPassport는 사용자 인증 및 권한 부여 기능을 쉽게 구현하는 데 도움이 되는 OAuth2 기반 인증 도구입니다. 이 글에서는 LaravelPassport를 사용하여 PHP에서 보안 검증을 구현하는 방법을 소개합니다. 단계: Laravel 설치

Laravel 개발: Laravel Sanctum을 사용하여 SPA에 API 인증을 제공하는 방법은 무엇입니까? Laravel 개발: Laravel Sanctum을 사용하여 SPA에 API 인증을 제공하는 방법은 무엇입니까? Jun 13, 2023 am 09:19 AM

Laravel 개발: LaravelSactum을 사용하여 SPA에 API 인증을 제공하는 방법은 무엇입니까? SPA(단일 페이지 애플리케이션)의 인기로 인해 우리는 무단 액세스 및 공격으로부터 API를 보호할 수 있는 안정적인 방법이 필요합니다. LaravelSactum은 SPA에 대한 간편한 인증을 제공하는 Laravel에서 제공하는 경량 인증 시스템입니다. 이 문서에서는 LaravelSactum을 사용하여 SPA에 API를 제공하는 방법을 보여줍니다.

See all articles