Résultats de recherche :

×

S'inscrire Contactez-Nous

Intégration du client Joomla OAuth avec l'authentification unique (SSO) Laravel Passport


L'intégration de Authentification unique Laravel Passport (Laravel Passport SSO) avec Joomla en utilisant OAuth 2.0 Protocole. Le plugin miniOrange Joomla OAuth / OpenID Connect Single Sign-on (SSO) simplifie la configuration SSO du passeport Laravel dans Joomla et activer la connexion sécurisée à Joomla. En conséquence, les utilisateurs peuvent se connecter à Joomla et accéder au site en s'authentifiant avec leurs informations d'identification Laravel Passport OAuth Provider.
Visitez notre page Plugin client Joomla OAuth page Web pour en savoir plus sur les fonctionnalités et les forfaits que nous proposons pour le plugin Joomla OAuth Single Sign-on (OAuth & OpenID connect).

Pré-requis : téléchargement et installation


  • Connectez-vous à votre site Joomla Administratrice console.
  • Dans le menu bascule de gauche, cliquez sur Système, puis sous la section Installer, cliquez sur Extensions.
  • Maintenant, cliquez sur Ou Rechercher un fichier pour localiser et installer le fichier du plugin téléchargé précédemment.
  • L'installation du plugin est réussie. Cliquez maintenant sur Commencer à utiliser le plugin miniOrange OAuth Server.
  • En vertu des Normes sur l’information et les communications, les organismes doivent rendre leurs sites et applications Web accessibles. Ils y parviennent en conformant leurs sites Web au niveau AA des Web Content Accessibility Guidelines (WCAG). Configurer OAuth onglet, cliquez sur le ADD .
Démarrer avec la configuration du serveur OAuth

Étapes pour configurer OAuth SSO dans Joomla

1. Configurer URL de rappel/redirection

  • Après avoir sélectionné votre fournisseur OAuth, vous serez redirigé vers le Étape 1 [URL de redirection] languette. Copiez maintenant le URL de rappel/redirection que nous utiliserons pour configurer le serveur OAuth, puis cliquez sur le Enregistrer et suivant .
  • OAuth Single Sign-On SSO dans Joomla - Copier l'URL de redirection
  • Télécharger Passeport Laravel.
  • Créez un projet Laravel sur votre machine à l'aide de la commande et configurez-le :
  • composer create-project --prefer-dist laravel/laravel blog
  • Installer le passeport Laravel
  • composer require Laravel/Passport
  • Allez dans config/app.php et ajoutez la classe ci-dessous, section fournisseur dans le fichier app.php
  • Laravel\Passport\PassportServiceProvider::class,
  • Courir php artisan migrer commander
  • Courir Passeport artisan php : installer commander
  • Allez dans app/Utilisateur.php classe de modèle, ajouter HasApiTokens trait du code : -
  • 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', ]; }
  • Allez sur ce chemin app/Providers et ouvrez le fichier AuthServiceProvider.php, + Passeport les itinéraires vers le code de service sont indiqués ci-dessous et enregistrez-le :
  • 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();
    //
    }
    }
  • Allez dans config/auth.php changer la API jeton de conducteur à passeport car nous allons utiliser la bibliothèque Passport.
  • 'guards' => [
    'web' => [
    'driver' => 'session',
    'provider' => 'users',
    ],
    'api' => [
    'driver' => 'passport',
    'provider' => 'users',
    'hash' => false,
    ],
    ],
  • Maintenant, configurez une ressource de démonstration dans laquelle vous pouvez créer une route API routes/api.php fichier.
  • Pour obtenir identité du client et Secret client exécutez les commandes suivantes : Passeport artisan php : client Il vous posera les questions suivantes :
  • 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

  • Pour créer manuellement un point de terminaison UserInfo, dans le app/Http/Contrôleurs, créez un fichier 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;
    }
    }
  • Enregistrez également la route API en ajoutant la ligne ci-dessous dans routes/api.php fichier:
  • Route::middleware('auth:api')->get('/user/get', 'UserController@get');

2. Configurez l'ID client et Secrète

  • Rendez-vous dans la section Étape 2 [ID client et secret] du plugin Joomla OAuth Client, collez ici le identité du client, Secret client et Locataire. Clique sur le Enregistrer la configuration .
  • OAuth Single Sign-On SSO dans Joomla - Enregistrer la configuration

2.1. Portée et points finaux

  • Vous pouvez désormais connecter le client OAuth à Laravel Passport (fournisseur OAuth) et les points de terminaison suivants sont :
    ( Courir service artisanal php en cmd pour obtenir URL de votre-site-laravel (Domaine). )
  • Portée:
    profil de messagerie openid
    Point de terminaison d’autorisation :
    http://your-laravel-site-url/oauth/authorize
    Point de terminaison du jeton :
    http://your-laravel-site-url/oauth/token
    Point de terminaison des informations utilisateur :
    http://your-laravel-site-url/api/user/get
    Définir les informations d'identification du client :
    Dans les deux (dans l'en-tête et dans le corps)
  • Le mappage des attributs utilisateur est obligatoire pour permettre aux utilisateurs de se connecter avec succès à Joomla. Nous allons configurer les attributs du profil utilisateur pour Joomla en utilisant les paramètres ci-dessous.
  • Allez dans Étape 3 dans le Configurer OAuth onglet et cliquez sur Configuration des tests .
Télécharger les métadonnées IdP

  • Vous pourrez voir les attributs dans la sortie de configuration de test comme suit.
Télécharger les métadonnées IdP

  • Sélectionnez maintenant le nom de l'attribut pour E-mail et nom d'utilisateur dans le menu déroulant. Cliquez ensuite sur Terminer la configuration .
Télécharger les métadonnées IdP

  • Maintenant, allez à Étape 4, ici copiez le URL de connexion/SSO et ajoutez-le à votre site.
Télécharger les métadonnées IdP

  • Déconnectez-vous maintenant et accédez aux pages de votre site Joomla où vous avez ajouté ce lien. Vous verrez un lien de connexion à l'endroit où vous avez placé ce bouton. Cliquez sur ce bouton pour effectuer le SSO.


Vous avez configuré avec succès Joomla comme client OAuth pour atteindre Authentification unique Joomla Laravel (SSO) avec Joomla pour l'authentification des utilisateurs.


Dans ce guide, vous avez configuré avec succès l'authentification unique (SSO) Joomla Laravel en configurant Laravel en tant que fournisseur OAuth et Joomla comme client OAuth en utilisant notre plugin client Joomla OAuth. Cette solution garantit que vous êtes prêt à déployer un accès sécurisé à votre site Joomla à l'aide des informations de connexion Laravel en quelques minutes.

Ressources additionnelles


Envoyez-nous un e-mail joomlasupport@xecurify.com pour des conseils rapides (par e-mail/réunion) sur vos besoins et notre équipe vous aidera à sélectionner la solution/le plan le mieux adapté à vos besoins.

Bonjour!

Besoin d'aide? Nous sommes ici !

soutenez