검색 결과 :

×

Laravel Passport 싱글 사인온(SSO)과 Joomla OAuth 클라이언트 통합


통합 Laravel Passport 싱글 사인온(Laravel Passport SSO) Joomla를 사용하여 OAuth 2.0 규약. miniOrange Joomla OAuth / OpenID Connect SSO(Single Sign-On) 플러그인을 사용하면 설정이 간단해집니다. 라라벨 여권 SSO 줌라로 Joomla에 보안 로그인을 활성화합니다. 결과적으로 사용자는 Laravel Passport OAuth 공급자 자격 증명으로 인증하여 Joomla에 로그인하고 사이트에 액세스할 수 있습니다.
저희를 방문하십시오 Joomla OAuth 클라이언트 플러그인 Joomla OAuth Single Sign-On(OAuth 및 OpenID 연결) 플러그인에 대해 제공되는 기능과 계획에 대해 자세히 알아보려면 웹페이지를 방문하세요.

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


  • Joomla 사이트에 로그인하세요. 관리자 콘솔.
  • 왼쪽 토글 메뉴에서 시스템을 클릭한 다음 설치 섹션에서 다음을 클릭하세요. 확장.
  • 이제 클릭하십시오. 또는 파일 찾아보기 버튼을 눌러 앞서 다운로드한 플러그인 파일을 찾아서 설치하세요.
  • 플러그인 설치가 성공했습니다. 이제 다음을 클릭하세요. miniOrange OAuth 서버 플러그인 사용 시작.
  • 아래의 OAuth 구성 탭에서 ADD 버튼을 클릭합니다.
OAuth 서버 설정 시작하기

Joomla에 OAuth SSO를 구성하는 단계

1. 구성 콜백/리디렉션 URL

  • OAuth 공급자를 선택하면 다음 페이지로 리디렉션됩니다. 1단계 [URL 리디렉션] 탭. 이제 복사하세요. 콜백/리디렉션 URL OAuth 서버를 구성하는 데 사용할 것입니다. 그런 다음 저장 후 다음 버튼을 클릭합니다.
  • Joomla에 대한 OAuth Single Sign-On SSO - 리디렉션 URL 복사
  • 다운로드 라라벨 여권.
  • 명령을 사용하여 머신에 laravel 프로젝트를 생성하고 설정합니다.
  • composer create-project --prefer-dist laravel/laravel blog
  • 라라벨 패스포트 설치
  • composer require Laravel/Passport
  • config/app.php로 이동하여 아래 클래스를 추가하세요. 공급자 섹션 app.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', ]; }
  • 이 경로로 이동 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();
    //
    }
    }
  • We Buy Orders 신청서를 클릭하세요. 구성/auth.php 변경 API 드라이버 토큰 여권 Passport 라이브러리를 사용할 예정입니다.
  • '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/컨트롤러, 파일을 생성하세요 UserController.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 Single Sign-On SSO - 구성 저장

2.1. 범위 및 엔드포인트

  • 이제 OAuth 클라이언트를 Laravel Passport(OAuth 공급자)와 연결할 수 있으며 다음 끝점은 다음과 같습니다.
    ( 달리다 PHP 장인 서비스 cmd에서 얻으려면 귀하의 라 라벨 사이트 URL (도메인). )
  • 범위:
    openid 이메일 프로필
    승인 끝점:
    http://your-laravel-site-url/oauth/authorize
    토큰 엔드포인트:
    http://your-laravel-site-url/oauth/token
    사용자 정보 엔드포인트:
    http://your-laravel-site-url/api/user/get
    클라이언트 자격 증명 설정:
    둘 다(헤더 및 본문)
  • 사용자 속성 매핑은 사용자가 Joomla에 성공적으로 로그인할 수 있도록 하는 데 필수적입니다. 아래 설정을 사용하여 Joomla에 대한 사용자 프로필 속성을 설정합니다.
  • We Buy Orders 신청서를 클릭하세요. 3단계 인간을 OAuth 구성 탭을 클릭하십시오. 테스트 구성 버튼을 클릭합니다.
IdP 메타데이터 업로드

  • 다음과 같이 테스트 구성 출력에서 ​​속성을 볼 수 있습니다.
IdP 메타데이터 업로드

  • 이제 속성 이름을 선택하세요 이메일 및 사용자 이름 드롭다운에서. 그런 다음 클릭하세요 구성 완료 버튼을 클릭합니다.
IdP 메타데이터 업로드

  • 이제 가라. 4단계, 여기에 복사하세요 로그인/SSO URL 사이트에 추가하세요.
IdP 메타데이터 업로드

  • 이제 로그아웃하고 이 링크를 추가한 Joomla 사이트 페이지로 이동합니다. 해당 버튼을 배치한 곳에 로그인 링크가 표시됩니다. 이 버튼을 클릭하여 SSO를 수행합니다.


Joomla를 OAuth 클라이언트로 성공적으로 구성하여 Joomla Laravel Single Sign-On(SSO) 을 통해 사용자 인증을 구현했습니다 .


이 가이드에서는 Joomla OAuth 클라이언트 플러그인을 사용하여 Laravel을 OAuth 제공업체로 , Joomla를 OAuth 클라이언트로 구성함으로써 Joomla Laravel 싱글 사인온(SSO)을 성공적으로 설정했습니다. 이 솔루션을 통해 몇 분 안에 Laravel 로그인 자격 증명을 사용하여 Joomla 사이트에 안전하게 액세스할 수 있도록 준비할 수 있습니다.

추가 리소스


요구 사항에 대한 빠른 안내(이메일/미팅)를 원하시면 joomlasupport@xecurify.com 으로 문의해 주세요. 저희 팀이 귀하의 요구 사항에 가장 적합한 솔루션/플랜을 선택하실 수 있도록 도와드리겠습니다.

안녕하세요!

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

SUPPORT