Sökresultat :

×

Joomla OAuth-klientintegrering med Laravel Passport Single Sign-On (SSO)


Integration av Laravel Passport Single Sign-on (Laravel Passport SSO) med Joomla använda OAuth 2.0 Protokoll. MiniOrange Joomla OAuth / OpenID Connect Single Sign-on (SSO) plugin gör det enkelt att konfigurera Laravel Passport SSO till Joomla och aktivera säker inloggning till Joomla. Som ett resultat kan användare logga in på Joomla och komma åt sidan genom att autentisera med sina Laravel Passport OAuth Provider-uppgifter.
Besök vår Joomla OAuth Client Plugin webbsida för att lära dig mer om funktionerna och planerna vi erbjuder för Joomla OAuth Single Sign-on (OAuth & OpenID connect) plugin.

Förutsättningar: Ladda ner och installation


  • Logga in på din Joomla-sajt Administratör konsol.
  • Från vänster växlingsmeny, klicka på Systemkrav, klicka sedan på under Installera förlängningar.
  • Klicka nu på Eller bläddra efter fil för att hitta och installera plugin-filen som laddades ner tidigare.
  • Installationen av plugin har lyckats. Klicka nu på Börja använda miniOrange OAuth Server-plugin.
  • Enligt Konfigurera OAuth fliken, klicka på ADDERA knapp.
Kom igång med OAuth Server Setup

Steg för att konfigurera OAuth SSO till Joomla

1. Konfigurera Callback/Redirect URL

  • När du har valt din OAuth-leverantör omdirigeras du till Steg 1 [Redirect URL] flik. Kopiera nu Callback/Redirect URL som vi kommer att använda för att konfigurera OAuth-servern och klicka sedan på Spara & Nästa knapp.
  • OAuth Single Sign-On SSO till Joomla - Kopiera omdirigeringsadress
  • Ladda ner Laravel pass.
  • Skapa ett laravel-projekt på din maskin med kommandot och ställ in det:
  • composer create-project --prefer-dist laravel/laravel blog
  • Installera Laravel Passport
  • composer require Laravel/Passport
  • Gå till config/app.php och lägg till klassen nedan under, leverantörssektionen i filen app.php
  • Laravel\Passport\PassportServiceProvider::class,
  • Körning php artisan migrera kommando
  • Körning php artisan passport:installera kommando
  • Gå till app/User.php modellklass, tillägg HasApiTokens egenskap hos koden:-
  • 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', ]; }
  • Gå till den här vägen app/Providers och öppna filen AuthServiceProvider.php, lägga till pass rutter till servicekoden ges nedan och spara den:
  • 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();
    //
    }
    }
  • Gå till config/auth.php ändra API förartecken till pass eftersom vi ska använda passbiblioteket.
  • 'guards' => [
    'web' => [
    'driver' => 'session',
    'provider' => 'users',
    ],
    'api' => [
    'driver' => 'passport',
    'provider' => 'users',
    'hash' => false,
    ],
    ],
  • Skapa nu en demo-resurs som du kan göra en API-rutt i routes/api.php fil.
  • För att få kund-ID och Klienthemlighet kör följande kommandon: php hantverkspass:klient Den kommer att ställa dig följande frågor:
  • 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

  • För att skapa en UserInfo-slutpunkt manuellt, i app/Http/Controllers, skapa en fil 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;
    }
    }
  • Registrera också API-rutten genom att lägga till raden nedan routes/api.php fil:
  • Route::middleware('auth:api')->get('/user/get', 'UserController@get');

2. Konfigurera klient-ID och Hemlighet

  • Gå till Steg 2 [Kund-ID och hemlighet] fliken i Joomla OAuth Client-plugin, klistra in här kund-ID, Klienthemlighet och Hyresgäst. Klicka på Spara konfiguration knapp.
  • OAuth Single Sign-On SSO till Joomla - Spara konfiguration

2.1. Omfattning & slutpunkter

  • Nu kan du ansluta OAuth-klient till Laravel Passport (OAuth-leverantör) och följande slutpunkter är:
    ( Springa php artisan serv i cmd för att få din-laravel-webbplats-url (Domän). )
  • Omfattning:
    openid e-postprofil
    Auktoriseringsslutpunkt:
    http://your-laravel-site-url/oauth/authorize
    Token slutpunkt:
    http://your-laravel-site-url/oauth/token
    Slutpunkt för användarinformation:
    http://your-laravel-site-url/api/user/get
    Ange klientuppgifter:
    I båda (i sidhuvud och i brödtext)
  • Mappning av användarattribut är obligatorisk för att användarna ska kunna logga in på Joomla. Vi kommer att ställa in användarprofilattribut för Joomla med inställningarna nedan.
  • Gå till steg 3 i Konfigurera OAuth fliken och klicka på Testa konfiguration knapp.
Ladda upp IdP-metadata

  • Du kommer att kunna se attributen i testkonfigurationsutgången enligt följande.
Ladda upp IdP-metadata

  • Välj nu attributnamnet för E-post och användarnamn från rullgardinsmenyn. Klicka sedan på Slutför konfigurationen knapp.
Ladda upp IdP-metadata

  • Gå nu till steg 4, kopiera här Inloggnings-/SSO-URL och lägg till den på din webbplats.
Ladda upp IdP-metadata

  • Logga nu ut och gå till din Joomla-sajts sidor där du har lagt till denna länk. Du kommer att se en inloggningslänk där du placerade den knappen. Klicka på den här knappen för att utföra SSO.


Du har konfigurerat Joomla som OAuth-klient för att uppnå Joomla Laravel Single Sign-On (SSO) med Joomla för användarautentisering.


I den här guiden har du framgångsrikt konfigurerat Joomla Laravel Single Sign-On (SSO) genom att konfigurera Laravel som OAuth-leverantör och Joomla som OAuth-klient med hjälp av vår Joomla OAuth Client-plugin. Denna lösning säkerställer att du är redo att rulla ut säker åtkomst till din Joomla-webbplats med Laravels inloggningsuppgifter inom några minuter.

Ytterligare resurser


Maila oss vidare joomlasupport@xecurify.com för snabb vägledning (via e-post/möte) om ditt krav och vårt team hjälper dig att välja den bästa lämpliga lösningen/planen enligt dina krav.

Hej där!

Behövs hjälp? Vi är här!

stödja