の検索結果 :

×

Joomla OAuth クライアントと Laravel Passport シングル サインオン (SSO) の統合


統合 Laravel Passport シングルサインオン (Laravel Passport SSO) Joomla を使用して OAuth 2.0 プロトコル。 miniOrange Joomla OAuth / OpenID Connect シングル サインオン (SSO) プラグインにより、セットアップが簡単になります LaravelパスポートSSO Joomlaに導入し、 Joomla への安全なログインを有効にします。 その結果、ユーザーは、Laravel Passport OAuth プロバイダーの資格情報で認証することで Joomla にログインし、サイトにアクセスできます。
私たちの Joomla OAuth クライアント プラグイン Joomla OAuth シングル サインオン (OAuth および OpenID Connect) プラグイン用に提供される機能とプランの詳細については、Web ページをご覧ください。

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


Joomla OAuth をインストールする手順 クライアントプラグイン

  • ダウンロード の zip ファイル miniOrange OAuth クライアント プラグイン Joomlaの場合。
  • Joomla サイトにログインします。 管理者コンソール.
  • 左側のトグルメニューから、 をクリックします エントルピー、次に インストールを開始する セクションをクリック 拡張.
  • ダウンロードした zip ファイルをアップロードしてインストールします。 Joomla OAuth クライアント プラグイン。
  • プラグインのインストールは成功しました。 今すぐクリックしてください miniOrange OAuth クライアントの使用を開始する プラグイン.
  • OAuth の設定 -> 事前設定されたアプリ タブで、あなたのものを選択してください OAuthプロバイダー。 検索することもできます カスタムOAuth or カスタム OpenID アプリケーション の中に 検索バーを使用して、独自のカスタム プロバイダーを構成します。
  • Joomla OAuth シングル サインオン SSO - OAuth プロバイダーを選択してください

Joomla に OAuth SSO を設定する手順

1. 設定する コールバック/リダイレクト URL

  • OAuth プロバイダーを選択すると、次のページにリダイレクトされます。 ステップ1 [リダイレクトURL] タブ。 今すぐコピーしてください コールバック/リダイレクト URL OAuth サーバーの設定に使用します。 保存して次へ
  • Joomla への OAuth シングル サインオン SSO - リダイレクト URL のコピー
  • ダウンロード ララベルパスポート.
  • コマンドを使用してマシン上にlaravelプロジェクトを作成し、設定します。
  • composer create-project --prefer-dist laravel/laravel blog
  • Laravelパスポートをインストールする
  • composer require Laravel/Passport
  • config/app.php に移動し、以下のクラスを以下に追加します。 プロバイダーセクション 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 を開きます。 加えます パスポート サービス コードへのルートを以下に示し、保存します。
  • 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,
    ],
    ],
  • API ルートを作成できるデモ リソースを設定します。 ルート/api.php ファイルにソフトウェアを指定する必要があります。
  • 取得するため 顧客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]:
    > http://localhost/oauth2_client/callback.php
    New client created successfully.
    Client ID: 1
    Client secret: zMm0tQ9Cp7LbjK3QTgPy1pssoT1X0u7sg0YWUW01

  • UserInfo エンドポイントを手動で作成するには、 アプリ/HTTP/コントローラー、ファイルを作成します ユーザーコントローラー.php:
  • use App\Http\Controllers\Controller;
    use Illuminate\Http\Request;
    use App\User;
    class UserController extends Controller
    {
    public function get(Request $request)
    {
    $user_id = $request->get("uid", 0);
    $user = User::find($user_id);
    return $user;
    }
    }
  • また、以下の行を追加して API ルートを登録します。 ルート/api.php ファイル:
  • Route::middleware('auth:api')->get('/user/get', 'UserController@get');

2. クライアント ID を設定し、 秘密

  • に行きます ステップ2 [クライアントIDとシークレット] Joomla OAuth クライアント プラグインのタブ、ここに貼り付けます 顧客ID, クライアントシークレット および 取得。 クリックします。 設定の保存
  • Joomla への OAuth シングル サインオン SSO - 構成の保存

2.1. スコープとエンドポイント

  • これで、OAuth クライアントを Laravel Passport (OAuth Provider) に接続できるようになり、エンドポイントは次のとおりです。
    ( 走る php 職人サーブ cmdで取得する あなたのlaravelサイトのURL (ドメイン)。 )
  • 範囲:
    openid メール プロファイル
    認可エンドポイント:
    http://your-laravel-site-url/oauth/authorize
    トークンエンドポイント:
    http://your-laravel-site-url/oauth/token
    ユーザー情報エンドポイント:
    http://your-laravel-site-url/api/user/get
    クライアント認証情報を設定します。
    両方 (ヘッダーと本文)

3. 設定する 属性 マッピング

    ユーザー属性マッピングは、ユーザーが Joomla に正常にログインできるようにするために必須です。設定させていただきます 上 以下の設定を使用して Joomla のユーザー プロファイル属性を設定します。

  • に行く ステップ 3 [属性マッピング] タブをクリックして テスト構成
  • Joomla への OAuth シングル サインオン SSO - テスト構成
  • テストで属性を確認できるようになります。 設定出力 次のように。
  • Joomla への OAuth シングル サインオン SSO - 構成出力
  • 今すぐ ステップ 3 [属性マッピング] タブをクリックして属性名を選択します Eメール そして ユーザー名 ドロップダウンから。それから クリック 構成の完了
  • Joomla への OAuth シングル サインオン SSO - 属性マッピング

4. ログイン/SSO URLの設定

  • さあ行く ステップ4 [SSO URL] タブ、ここにコピーします ログイン/SSO URL そしてそれを追加します あなたの 指定された手順に従ってサイトにアクセスします。
  • Joomla への OAuth シングル サインオン SSO - ログイン/SSO URL
  • ここでログアウトし、このリンクを追加した Joomla サイトのページに移動します。 そのボタンを配置した場所にログイン リンクが表示されます。 SSO を実行するには、このボタンをクリックします。

正常に設定されました OAuth クライアントとしての Joomla 達成するために Joomla Laravel シングル サインオン (SSO) ユーザー認証には Joomla を使用します。


このガイドでは、次のように構成することで、Joomla Laravel シングル サインオン (SSO) を正常に構成しました。 OAuthプロバイダーとしてのLaravel および OAuth クライアントとしての Joomla Joomla OAuth クライアント プラグインを使用します。このソリューションにより、Laravel ログイン資格情報を使用して Joomla サイトへの安全なアクセスを数分以内に展開する準備が整います。

追加リソース


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

こんにちは!

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

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

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

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