검색 결과 :

×

Laravel Passport를 OAuth 공급자로 사용하는 Laravel용 OAuth 싱글 사인온(SSO)

Laravel Passport를 OAuth 공급자로 사용하는 Laravel용 OAuth 싱글 사인온(SSO)


Laravel OAuth 싱글 사인온 (SSO) 플러그인은 laravel 애플리케이션에 대해 OAuth Single Sign-On을 활성화하는 기능을 제공합니다. Single Sign-On을 사용하면 하나의 비밀번호만 사용하여 laravel 애플리케이션과 서비스에 액세스할 수 있습니다. 우리 플러그인은 모든 OAuth 호환 ID 공급자와 호환됩니다. 여기서는 Laravel Passport를 OAuth 공급자로 간주하여 Laravel과 Laravel Passport 사이에 SSO(Single Sign-On)를 구성하는 단계별 가이드를 살펴보겠습니다. Laravel OAuth 클라이언트 Single-Sign-On-Sso 플러그인에서 제공하는 다른 기능에 대해 자세히 알아보려면 다음을 수행하세요. 여기를 클릭하세요.

Laravel Oauth 클라이언트 설치

  • 명령 프롬프트 창을 열고 작업 디렉터리를 다음으로 변경합니다. Laravel 앱의 메인 디렉터리 아래 명령을 사용하여 Laravel OAuth 플러그인을 설치하십시오.
  • composer require miniorange/oauth-laravel-free
  • 패키지 설치가 성공적으로 완료되면 브라우저에서 Laravel 앱으로 이동하여 다음을 입력하세요. {laravel-application-domain}/mo_oauth_admin
  • 패키지가 데이터베이스 설정을 시작한 다음 관리자 등록 페이지로 리디렉션합니다.
  • 플러그인을 구성하려면 miniOrange 계정으로 등록하거나 로그인하세요.
  • Laravel Single Sign On SSO 플러그인 설정
  • 로그인 후, OAuth 제공업체 설정 옵션, 어디서 얻을 수 있나요? 리디렉션/콜백 URL. 나중에 Laravel Passport Single Sign-On(SSO)을 구성하는 데 필요하므로 편리하게 보관하세요.
  • Laravel 싱글 사인온 SSO OAuth 클라이언트 설정

Laravel Passport 싱글 사인온(SSO)을 구성하는 단계 Laravel에 로그인

1. Laravel Passport를 OAuth 공급자로 구성

  • 아래 명령을 사용하여 laravel Passport를 설치하십시오.
  • composer require laravel/passport
  • We Buy Orders 신청서를 클릭하세요. 설정/앱.php 아래 공급자를 추가하십시오.
  • Laravel\Passport\PassportServiceProvider::class
  • 달리기 PHP 장인이 마이 그 레이션 명령
  • 달리기 PHP 장인 여권:설치 명령
  • We Buy Orders 신청서를 클릭하세요. 앱/모델/User.php 모델 클래스, 추가 HasApiToken 코드의 특징:
  • 
         
        namespace App;
        use Laravel\Passport\HasApiTokens;
        use Illuminate\Contracts\Auth\MustVerifyEmail;
        use Illuminate\Foundation\Auth\User as Authenticatable;
        use Illuminate\Notifications\Notifiable;
         
        class User extends Authenticatable
        {
          use HasApiTokens, Notifiable;
         
          
            /**
             * The attributes that are mass assignable.
             *
             * @var array
            */
            protected $fillable = [
                'name', 'email', 'password',
            ];
         
            /**
             * The attributes that should be hidden for arrays.
             *
             * @var array
             */
            protected $hidden = [
                'password', 'remember_token',
            ];
         
            /**
             * The attributes that should be cast to native types.
             *
             * @var array
             */
           
            protected $casts = [
                'email_verified_at' => 'datetime',
            ];
        }
        
        
        
  • 아래 Laravel 버전 9.0의 경우: We Buy Orders 신청서를 클릭하세요. 앱/공급자/AuthServiceProvider.php추가 Laravel\Passport\Passport를 사용하십시오. , 여권::경로(); 서비스 코드에 대한 경로는 다음과 같습니다.
  •     
        namespace App\Providers;
        use Laravel\Passport\Passport;
        use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
        use Illuminate\Support\Facades\Gate;
         
        class AuthServiceProvider extends ServiceProvider
        {
        
            /**
             * The policy mappings for the application.
             *
             * @var array
             */
            protected $policies = [
                // 'App\Model' => 'App\Policies\ModelPolicy',
            ];
         
            /**
             * Register any authentication / authorization services.
             *
             * @return void
             */
            public function boot()
            {
                $this->registerPolicies();
                Passport::routes();
                //
            }
        }
        
  • We Buy Orders 신청서를 클릭하세요. 구성/auth.php 변경 API를 드라이버 토큰 여권 Passport 라이브러리를 사용할 예정입니다.
  • 
        'guards' => [
                'web' => [
                    'driver' => 'session',
                    'provider' => 'users',
                ],
                   'api' => [
                    'driver' => 'passport',
                    'provider' => 'users',
                   'hash' => false,
                ],
            ],
        
  • UserInfo 엔드포인트를 수동으로 생성하려면 앱/Http/컨트롤러, 파일을 생성하세요 UserController.php:
  • 
        <?php
        namespace App\Http\Controllers;
        use App\Http\Controllers\Controller;
        use Illuminate\Http\Request;
        use App\Models\User;
        use Auth;
        class UserController extends Controller
        {
            public function get(Request $request)
            {
              $user_id = Auth::id();
              $user = User::find($user_id);
              return $user;
            }
        }
        
  • 또한 아래 줄을 추가하여 API 경로를 등록하십시오. 경로/api.php 파일 :
  • 
        //For Laravel below 8 and migrated to the 8 version:
        Route::middleware('auth:api')->get('/user/get', 'UserController@get');
         

    OR

    
        //For Laravel 8 new users:
        use App\Http\Controllers\UserController;                                                                       
         Route::middleware('auth:api')->get('/user/get', 'App\Http\Controllers\UserController@get');
        
  • 얻으려면 고객 ID 고객 비밀 다음 명령을 실행하십시오. PHP 장인 여권:클라이언트 다음과 같은 질문을 할 것입니다:
  • 
         Which user ID should the client be assigned to?:
         > 1
         
         What should we name the client?
         > Demo OAuth2 Client Account
         
         Where should we redirect the request after authorization?
         [http://localhost/auth/callback]
         
        > Click Here to copy the Redirect URL.
          
        New client created successfully.
        
        Client ID: 1
        Client secret: zMm0tQ9Cp7LbjK3QTgPy1pssoT1X0u7sg0YWUW01
        


2. Laravel Passport용 Laravel OAuth 클라이언트 플러그인 구성

  • 로 이동 miniOrange Laravel OAuth SSO 플러그인을 클릭하고 Laravel Passport를 OAuth 공급자로 선택하세요.
  • Laravel Single Sign On SSO 앱 선택
  • 입력 고객 ID고객 비밀 Laravel Passport에서 .
  • Laravel Single Sign On SSO 저장 설정
  • 구성 방법은 아래 표를 참조하세요. 범위종점 .
  • 범위: 범위 필드를 비워 두세요.
    엔드포인트 승인: http://your-laravel-site-url/oauth/authorize
    액세스 토큰 엔드포인트: http://your-laravel-site-url/oauth/token
    UserInfo 끝점 가져오기: http://your-laravel-site-url/api/user/get
  • 클라이언트 자격 증명을 보낼 수 있습니다. 머리글 or 그리고 또 보내 상태 그에 따라 매개변수도 입력됩니다. 로그인 속성 귀하의 요구 사항에 따라.
  • Laravel Single Sign On SSO 앱 선택
  • 를 클릭하십시오 설정 저장 단추. 그 후 다음을 클릭하세요. 테스트 구성 단추. OAuth 공급자가 보낸 속성 이름 및 속성 값 목록을 받게 됩니다.
  • Laravel Single Sign On SSO 저장 설정

3. SSO 옵션

  • 링크를 사용하여 OAuth/OpenID 제공업체를 통해 로그인할 수도 있습니다.
  • 이 링크의 형식은 다음과 같습니다.
    {laravel-application-domain}/ssologin.php?option=oauthredirect

이 가이드에서는 성공적으로 구성했습니다. Laravel Passport 싱글 사인온(SSO) 사용 OAuth 클라이언트로서의 Laravel. 이 솔루션은 다음을 사용하여 Laravel 사이트에 대한 보안 액세스를 출시할 준비가 되었는지 확인합니다. 라라벨 패스포트 로그인 몇 분 안에 자격 증명을 얻을 수 있습니다.

추가 자료

안녕하세요!

도움이 필요하다? 우리는 바로 여기에 있습니다!

SUPPORT
miniOrange 지원팀에 문의하세요
성공

문의 해 주셔서 감사합니다.

24시간 이내에 연락을 받지 못한 경우 언제든지 다음 이메일로 후속 이메일을 보내주세요. info@xecurify.com