の検索結果 :

×

Laravel Passport OAuth および OpenID 接続シングル サインオン (SSO) | LaravelパスポートSSOログイン

Laravel Passport OAuth および OpenID 接続シングル サインオン (SSO) | LaravelパスポートSSOログイン


無料試用版を入手

WordPress OAuth および OpenID Connect シングル サインオン (SSO) プラグインにより、Laravel Passport を OAuth および OpenID Connect プロバイダーとして使用して、WordPress への安全なログインが可能になります。 さまざまなカスタム プロバイダーや標準 IDP を使用してプラグインを構成することもできます。 ユーザープロファイルの属性マッピング、ロールマッピングなどの高度なシングルサインオン (SSO) 機能をサポートしています。ここでは、WordPress と Laravel Passport の間で SSO を設定するためのガイドを説明します。 このガイドが終わるまでに、ユーザーは Laravel Passport から WordPress にログインできるようになります。 WP OAuth シングル サインオン (OAuth および OpenID Connect クライアント) プラグインで提供されるその他の機能の詳細については、以下をご覧ください。 ここをクリック.

前提条件: ダウンロードとインストール


  • WordPress インスタンスに管理者としてログインします。
  • WordPress に移動します ダッシュボード -> プラグイン をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します 新規追加.
  • WordPress を検索する OAuth シングル サインオン (SSO) プラグインを選択してクリックします 今すぐインストール.
  • インストールしたら、をクリックします アクティブにしましょう.

Laravel Passport シングルサインオン (SSO) ログインを WordPress に設定する手順

1. Laravel PassportをOAuthプロバイダーとして設定する

  • コマンドを使用してローカルマシン上にlaravelプロジェクトを作成し、設定します。
  • 作曲家 create-project --prefer-dist laravel/laravel ブログ

  • 次を使用してディレクトリをブログに変更します CDブログ 指示。 Laravelパスポートをインストールする
  • 作曲家にはlaravel/パスポートが必要です

  • config/app.php に移動し、以下のプロバイダーを追加します
  • Laravel\Passport\PassportServiceProvider::class

  • ラン PHP職人が移行する command
  • ラン php 職人パスポート:インストール command
  • に行く app/User.php モデルクラス、追加 HasApiTokens コードの特徴:
  • 
         
        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',
            ];
        }
        
        
        
  • に行く app/Providers/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();
                //
            }
        }
        
  • に行く config/auth.php 変更 API ドライバートークンへの パスポート パスポートライブラリを使用するので。
  • 
        '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/コントローラー、ファイルを作成します ユーザーコントローラー.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 クライアントとして設定する

  • に行く 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 のユーザー プロファイル属性を設定します。
  • ユーザー属性の検索

    • に行く OAuthの構成 タブ。 下にスクロールしてクリックします テスト構成.
    • Laravel Passport シングル サインオン (SSO) OAuth/OpenID WordPress テスト構成
    • OAuth プロバイダーから WordPress に返されるすべての値が表に表示されます。 名、姓、電子メール、またはユーザー名の値が表示されない場合は、OAuth プロバイダーでこの情報を返すように必要な設定を行ってください。
    • Laravel Passport シングルサインオン (SSO) 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) 設定] タブの設定は、シングル サインオン (SSO) のユーザー エクスペリエンスを定義します。 Laravel ログイン ウィジェットを WordPress ページに追加するには、以下の手順に従う必要があります。
    • に行く WordPress の左側のパネル > 外観 > ウィジェット.
    • 選択 miniOrange OAuth。 好きな場所にドラッグ&ドロップして保存します。
    • Laravel シングルサインオン (SSO) - WordPress の create-newclient ログインボタンの設定
    • に行く WordPress の左側のパネル > 外観 > ウィジェット.
    • 選択 miniOrange OAuth。 好きな場所にドラッグ&ドロップして保存します。
    • Laravel シングルサインオン (SSO) - WordPress の create-newclient ログインボタンの設定
    • WordPress ページを開くと、そこに Laravel SSO ログイン ボタンが表示されます。 Laravel シングル サインオン (SSO) を今すぐテストできます。
    • ことを確認してください 「ログインページに表示」 オプションがアプリケーションで有効になっています。 (下の画像を参照してください)
    • Laravel シングルサインオン (SSO) - WordPress の create-newclient ログインボタンの設定
    • 今、あなたに行きます ワードプレスログイン ページで見やすくするために変数を解析したりすることができます。 (例: https://< your-wordpress-domain >/wp-login.php)
    • そこにLaravel SSOログインボタンが表示されます。 ログインボタンをクリックすると、Laravel シングルサインオン (SSO) をテストできるようになります。
    • Laravel シングルサインオン (SSO) - WordPress の create-newclient ログインボタンの設定
このガイドでは、正常に構成されています Laravel Passport シングルサインオン (SSO) WP OAuth Single Sign-On (OAuth & OpenID Connect Client) プラグインを使用して、Laravel Passport を OAuth プロバイダーとして、WordPress を OAuth クライアントとして設定します。 このソリューションにより、Laravel Passport のログイン資格情報を使用して WordPress サイトへの安全なアクセスを数分以内に展開できるようになります。


その他のリソース


メールでお問い合わせください oauthsupport@xecurify.com お客様の要件に関する迅速なガイダンス(電子メール/会議経由)が必要です。当社のチームは、お客様の要件に応じて最適なソリューション/プランの選択をお手伝いします。

こんにちは!

助けが必要? 私たちはここにいます!

サポート
miniOrange サポートにお問い合わせください
成功

お問い合わせありがとうございます。

24 時間以内に当社からのご連絡がない場合は、お気軽にフォローアップ メールを送信してください。 info@xecurify.com