검색 결과 :

×

Laravel Passport OAuth 및 OpenID는 SSO(Single Sign-On) 연결 | Laravel Passport SSO 로그인

Laravel Passport OAuth 및 OpenID는 SSO(Single Sign-On) 연결 | Laravel Passport SSO 로그인


무료 평가판 얻기

WordPress OAuth 및 OpenID Connect Single Sign-On(SSO) 플러그인을 사용하면 Laravel Passport를 OAuth 및 OpenID Connect 공급자로 사용하여 WordPress에 안전하게 로그인할 수 있습니다. 다양한 사용자 지정 공급자와 표준 IDP를 사용하여 플러그인을 구성할 수도 있습니다. 사용자 프로필 속성 매핑, 역할 매핑 등과 같은 고급 SSO(Single Sign-On) 기능을 지원합니다. 여기서는 WordPress와 Laravel Passport 간에 SSO를 구성하는 방법을 안내합니다. 이 가이드가 끝나면 사용자는 Laravel Passport에서 WordPress에 로그인할 수 있습니다. WP OAuth Single Sign-On(OAuth 및 OpenID Connect 클라이언트) 플러그인에서 제공하는 다른 기능에 대해 자세히 알아보려면 다음을 수행하세요. 여기를 클릭하세요.

전제조건 : 다운로드 및 설치


  • WordPress 인스턴스에 관리자로 로그인합니다.
  • 워드프레스로 이동 대시보드 -> 플러그인 그리고 클릭 새로운 추가.
  • WordPress 검색 OAuth 싱글 사인온(SSO) 플러그인을 클릭하고 지금 설치.
  • 설치가 완료되면 클릭하세요. 활성화.

Laravel Passport Single Sign-On(SSO)을 구성하는 단계 WordPress에 로그인

1. Laravel Passport를 OAuth 공급자로 설정

  • 명령을 사용하여 로컬 컴퓨터에 laravel 프로젝트를 만들고 설정합니다.
  • 작곡가 생성 프로젝트 --prefer-dist laravel/laravel 블로그

  • 다음을 사용하여 디렉토리를 블로그로 변경하십시오. CD 블로그 명령. Laravel 여권 설치
  • 작곡가는 laravel/passport가 필요합니다

  • config/app.php로 이동하여 아래 공급자를 추가하세요.
  • Laravel\Passport\PassportServiceProvider::클래스

  • 달리기 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',
            ];
        }
        
        
        
  • 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,
                ],
            ],
        
  • 얻으려면 고객 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
        

  • 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');
        

성공적으로 구성되었습니다 OAuth 제공자로서의 Laravel Passport 귀하의 WordPress 사이트에 Laravel Passport 로그인을 달성하기 위한 것입니다.


2. WordPress를 OAuth 클라이언트로 설정

  • We Buy Orders 신청서를 클릭하세요. OAuth 구성 탭 및 구성 앱 이름, 클라이언트 ID, 클라이언트 비밀번호 제공된 것에서 끝점.
  • 구성 방법은 아래 표를 참조하세요. 플러그인에서 Laravel Passport의 범위 및 끝점.


    클라이언트 ID: 위의 3단계부터
    클라이언트 비밀번호: 위의 3단계부터
    엔드포인트 승인: http://your-laravel-site-url/oauth/authorize
    액세스 토큰 엔드포인트: http://your-laravel-site-url/oauth/token
    사용자 정보 가져오기 끝점: http://your-laravel-site-url/api/user/get
  • 를 클릭하십시오 설정 저장 구성을 저장합니다.
  • Laravel Passport 싱글 사인온(SSO) OAuth/OpenID WordPress 구성 엔드포인트

성공적으로 구성되었습니다 OAuth 클라이언트로서의 WordPress 귀하의 WordPress 사이트에 Laravel Passport 로그인을 달성하기 위한 것입니다.


3. 사용자 속성 매핑

  • 사용자가 WordPress에 성공적으로 로그인하려면 사용자 속성 매핑이 필수입니다. 아래 설정을 사용하여 WordPress에 대한 사용자 프로필 속성을 설정하겠습니다.
  • 사용자 속성 찾기

    • We Buy Orders 신청서를 클릭하세요. OAuth 구성 탭. 아래로 스크롤하여 클릭하세요. 테스트 구성.
    • Laravel Passport 싱글 사인온(SSO) OAuth/OpenID WordPress 테스트 구성
    • OAuth 공급자가 WordPress에 반환한 모든 값이 표로 표시됩니다. 이름, 성, 이메일 또는 사용자 이름 값이 표시되지 않으면 OAuth 공급자에서 필수 설정을 지정하여 이 정보를 반환하세요.
    • Laravel Passport SSO(Single Sign-On) OAuth/OpenID WordPress 테스트 구성 결과
    • 테스트 구성에 모든 값이 표시되면 다음으로 이동하세요. 속성/역할 매핑 탭을 클릭하면 사용자 이름 드롭다운에 속성 목록이 표시됩니다.
    • Laravel Passport 싱글 사인온(SSO) OAuth/OpenID WordPress 속성/역할 매핑

4: 역할 매핑 [프리미엄]

  • 를 클릭하십시오 “테스트 구성” 그러면 OAuth 공급자가 보낸 속성 이름 및 속성 값 목록을 받게 됩니다.
  • 테스트 구성 창에서 플러그인의 속성 매핑 섹션에 있는 속성 이름을 매핑합니다. 자세한 내용은 스크린샷을 참조하세요.
  • Laravel Passport 싱글 사인온(SSO) - 속성 매핑
  • 역할 매핑 활성화: 역할 매핑을 활성화하려면 그룹 이름 속성을 매핑해야 합니다. 제공자 애플리케이션에서 역할을 반환하는 속성 목록에서 속성 이름을 선택합니다.
    예 : 직위별

  • Laravel Passport 싱글 사인온(SSO) - 테스트 구성 - 역할 매핑
  • 공급자 역할에 WordPress 역할을 할당합니다. 제공자 애플리케이션에 따라 WordPress 역할을 제공자 역할에 할당할 수 있습니다. 귀하의 응용 프로그램에 따라 학생, 교사, 관리자 또는 기타 사람이 될 수 있습니다. 그룹 속성 값 아래에 공급자 역할을 추가하고 WordPress 역할 아래에서 그 앞에 필요한 WordPress 역할을 할당합니다.

    예를 들어, 아래 이미지에서. 교사에게는 관리자 역할이 할당되고 학생에게는 구독자 역할이 할당됩니다.
  • Laravel Passport 싱글 사인온(SSO) - 테스트 구성 - 역할 매핑
  • 매핑을 저장하면 SSO 이후 공급자 역할에 WordPress 관리자 역할이 할당됩니다.
    예: 주어진 예에 따라 '교사' 역할을 가진 사용자는 WordPress의 관리자로 추가되고 '학생'은 구독자로 추가됩니다.

5. 로그인 설정

  • SSO(Single Sign-On) 설정 탭의 설정은 SSO(Single Sign-On)에 대한 사용자 환경을 정의합니다. WordPress 페이지에 Laravel 로그인 위젯을 추가하려면 아래 단계를 따라야 합니다.
    • We Buy Orders 신청서를 클릭하세요. WordPress 왼쪽 패널 > 모양 > 위젯.
    • 선택 미니오렌지 OAuth. 원하는 위치로 드래그 앤 드롭하고 저장하세요.
    • Laravel SSO(Single Sign-On) - WordPress create-newclient 로그인 버튼 설정
    • We Buy Orders 신청서를 클릭하세요. WordPress 왼쪽 패널 > 모양 > 위젯.
    • 선택 미니오렌지 OAuth. 원하는 위치로 드래그 앤 드롭하고 저장하세요.
    • Laravel SSO(Single Sign-On) - WordPress create-newclient 로그인 버튼 설정
    • WordPress 페이지를 열면 Laravel SSO 로그인 버튼이 표시됩니다. 이제 Laravel SSO(Single Sign-On)를 테스트할 수 있습니다.
    • 확인 "로그인 페이지에 표시" 응용프로그램에 옵션이 활성화되어 있습니다. (아래 이미지 참고)
    • Laravel SSO(Single Sign-On) - WordPress create-newclient 로그인 버튼 설정
    • 이제 당신의 WordPress 로그인 페이지. (예: https://< your-wordpress-domain >/wp-login.php)
    • 거기에 Laravel SSO 로그인 버튼이 표시됩니다. 로그인 버튼을 클릭하면 Laravel Single Sign-On(SSO)을 테스트할 수 있습니다.
    • Laravel SSO(Single Sign-On) - WordPress create-newclient 로그인 버튼 설정
이 가이드에서는 성공적으로 구성했습니다. Laravel Passport 싱글 사인온(SSO) WP OAuth 싱글 사인온(OAuth & OpenID Connect 클라이언트) 플러그인을 사용하여 Laravel Passport를 OAuth 공급자로 설정하고 WordPress를 OAuth 클라이언트로 설정합니다. 이 솔루션을 사용하면 Laravel Passport 로그인 자격 증명을 사용하여 몇 분 안에 WordPress 사이트에 대한 보안 액세스를 출시할 수 있습니다.


추가 자료


메일을 보내주세요 oauthsupport@xecurify.com 귀하의 요구 사항에 대한 빠른 안내(이메일/회의를 통해)를 원하시면 저희 팀이 귀하의 요구 사항에 따라 가장 적합한 솔루션/계획을 선택하도록 도와드릴 것입니다.

안녕하세요!

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

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

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

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