Bonjour!

Besoin d'aide? Nous sommes ici !

Icône de support
Assistance par e-mail miniOrange
succès

Merci pour votre demande. Notre équipe vous contactera bientôt.

Si vous n'avez pas de nouvelles de nous dans les 24 heures, n'hésitez pas à envoyer un e-mail de suivi à info@xecurify.com

Résultats de la recherche:

×

Authentification unique OAuth (SSO) pour les frameworks JavaScript


La solution JavaScript OAuth Single Sign-On (SSO) de miniOrange permet une authentification sécurisée et transparente pour les applications créées à l'aide de frameworks et de bibliothèques JavaScript populaires tels que React, Vue.js, Next.js et AngularEn utilisant les jetons Web JSON (JWT), les utilisateurs peuvent accéder facilement à plusieurs applications avec un seul ensemble d'informations de connexion, améliorant ainsi considérablement la sécurité et l'expérience utilisateur.

Intégrez facilement les protocoles OAuth 2.0 et OpenID Connect à vos applications JavaScript existantes et connectez-les sans effort à des fournisseurs d'identité tels que Microsoft Entra ID, Okta, AWS Cognito et autres. Offrez également à vos utilisateurs des options de connexion via les réseaux sociaux comme Google, Facebook, Twitter et LinkedIn. Simplifiez vos processus de connexion, renforcez la sécurité et offrez une expérience utilisateur fluide et sans friction sur toutes vos applications JavaScript grâce à miniOrange. authentification unique.

Avec miniOrange JavaScript OAuth SSO, vous obtenez :

  • Expérience de connexion utilisateur transparente.
  • Personnalisations infinies de vos formulaires et pages de connexion.
  • Intégration simplifiée des clients ou des utilisateurs.


Connectez-vous avec une source externe d'utilisateurs


miniOrange fournit authentification de l'utilisateur provenant de diverses sources externes, qui peuvent être Partages de fichiers (comme ADFS, Microsoft Active Directory, OpenLDAP, AWS, etc.), Fournisseurs d'identité (comme Microsoft Entra ID, Okta, AWS) et beaucoup plus. Vous pouvez configurer votre répertoire/magasin d'utilisateurs existant ou ajouter des utilisateurs dans miniOrange.



Pré-requis :

Assurez-vous que la marque de votre organisation est déjà définie sous Personnalisation >> Connexion et inscription dans le menu de gauche du tableau de bord.


Configurer l'application OAuth sur miniOrange

  • Inscrivez-vous au miniOrange site Web et connectez-vous en utilisant vos informations d'identification pour afficher le tableau de bord ci-dessous.
  • Console d'administration miniOrange JavaScript OAuth Single Sign-On (SSO)

  • Accédez à la Apps section dans le menu de gauche.
  • Cliquez sur Ajouter une application bouton situé dans le coin supérieur droit de la page.
  •  JavaScript OAuth Single Sign-On (SSO) Ajouter une application

  • Recherchez « OAuth » et sélectionnez Connexion OAuth2/OpenID à partir de l'icône miniOrange.
  • JavaScript OAuth Single Sign-On (SSO) Recherchez OAuth et sélectionnez OAuth2/OpenID Connect

  • Saisissez un nom pour votre application dans le champ Nom du client terrain et fournir le URL de redirection (qui sera « votre_domaine/sso/callback ») et cliquez Enregistrer. Vous pouvez également fournir URI de déconnexion et spécifiez où les utilisateurs doivent être redirigés après la déconnexion (par exemple https://your_domain/login)
  • JavaScript OAuth Single Sign-On (SSO) Saisissez les détails de votre application

  • Un message « L'application a été configurée avec succès » s'affichera, confirmant la création réussie de l'application OAuth sur miniOrange.
  • JavaScript OAuth Single Sign-On (SSO) Réception d'un message lors de la configuration de l'application

  • Recherchez le nom de votre application dans la liste des applications, cliquez sur le menu à trois points et sélectionnez Modifier.
  •  JavaScript OAuth Single Sign-On (SSO) cliquez sur les trois points et sélectionnez Modifier

  • Copiez maintenant Identité du client et Secret client et rangez-le dans un endroit sûr pour une utilisation ultérieure.
  •  Copie de l'ID client et du secret client JavaScript OAuth Single Sign-On (SSO)


Configurer OAuth dans les applications framework JavaScript (React, Angular, Vue, Next.js, etc.)


1. Installez le connecteur

  • Dans le répertoire racine de votre projet (où se trouve le fichier package.json), exécutez la commande suivante :
                        npm i mo-oauth-sdk
                    

2. Configurez OAuth dans votre application

  • Pour configurer OAuth, créez un config.js dans votre dossier de composants et importez la classe OAuthConfig pour configurer votre configuration OAuth. Les informations ci-dessous ont été fournies lors de la création de l'application OAuth dans miniOrange.
    Identité du client Votre identifiant client d'application que nous avons copié précédemment à partir de ici
    Client_Secret Votre secret client d'application que nous avons copié précédemment à partir de ici
    BASE_URL Votre URI de base devrait ressembler à ceci : https://<YOUR_DOMAIN>.xecurify.com/moasIl s'agit de votre nom de marque suivi de xecurify.com/moas.
    REDIRECT_URI Il s'agit de la même URI de redirection que celle ajoutée lors de la configuration de l'application OAuth dans miniOrange. Elle devrait ressembler à ceci : https:// /sso/rappel
    DÉCONNEXION_REDIRECT_URI Il s'agit de l'URI de déconnexion que nous avons ajoutée lors de la configuration de l'application OAuth dans miniOrange. Elle devrait ressembler à ceci : https:// /se connecter
    URI_COURTIER Si vous utilisez un IDP externe autre que miniOrange, accédez à Applications > Points de terminaison OAuth > Point de terminaison d'autorisation > Copier l'URL du deuxième courtier
  • Étapes pour obtenir l'URL du courtier

    • Accédez à Apps .
    •  JavaScript OAuth Single Sign-On (SSO) Accéder aux applications

    • Recherchez l'application que vous avez créée et cliquez sur l'option de menu et sélectionnez Points de terminaison OAuth.
    •  JavaScript OAuth Single Sign-On (SSO) Recherchez une application et sélectionnez Points de terminaison OAuth

    • Copiez le deuxième URI de la section Point de terminaison d'autorisation sous Points de terminaison OAuth qui est l'URI de votre courtier.
    •  JavaScript OAuth Single Sign-On (SSO) Copier le point de terminaison d'autorisation


À noter: Stockez les informations d’identification de votre application en toute sécurité dans des variables d’environnement ou un fichier de propriétés et utilisez-les ici.


config.js

            
              import { OAuthConfig } from 'mo-oauth-sdk';
              const conf = new OAuthConfig();
              conf.setClientId(YOUR_CLIENT_ID);
              conf.setClientSecret(YOUR_CLIENT_SECRET);
              conf.setBaseUrl(YOUR_BASE_URL);
              conf.setRedirectUri(YOUR_REDIRECT_URI);
              conf.setLogoutRedirectUri(YOUR_LOGOUT_URI); //optional
              conf.setBrokerUri(YOUR_BROKER_URI); //optional
              export default config;
            
           


3. Démarrez le processus d'autorisation

  • Créez un bouton de connexion et utilisez le démarrerAutorisation méthode de la bibliothèque mo-oauth-sdk pour lancer le processus d'autorisation OAuth. vous devez passer l'objet de configuration à la fonction startAuthorization comme indiqué ci-dessous :
                        
                          import {startAuthorization} from 'mo-oauth-sdk';
                          import conf from './Conf';  //Adjust path accordingly
                          .
                          .
                          .
    
                          const login = ()=>{
                            startAuthorization(conf)
                          }
                        
                    
  • Désormais, lorsque les utilisateurs cliquent sur le bouton de connexion, le flux OAuth démarre.

4. Gestion des rappels

Une fois l'utilisateur authentifié avec succès, le serveur d'autorisation le redirigera vers la route /sso/callback de votre application avec les paramètres d'autorisation.

Pour gérer cela :

  • Définir la /sso/rappel itinéraire dans votre application.
  • Créer un composant de rappel et le restituer lorsque l'itinéraire ci-dessus est accédé.
  • invoquer handleCallbackUri à l'intérieur du composant de rappel pour traiter la réponse d'autorisation.
  • Extraire des jetons de la réponse et les stocker en toute sécurité (éviter stockage local en raison de risques de sécurité ; préférez les cookies HTTP uniquement ou le stockage sécurisé).
  • Récupérer les attributs de l'utilisateur en utilisant la fonction jeton d'accès, créez une session et redirigez l'utilisateur vers le tableau de bord.

5. Étapes pour configurer la route de rappel dans les applications front-end basées sur JS

Vous devez définir la route /sso/callback dans votre application et créer un composant pour la gérer.


  • Installez React Router s'il n'est pas déjà installé :
                                npm install react-router-dom
                            
  • Créer un composant de rappel :
                                
                                import React, { useEffect} from "react";
                                import { handleCallbackUri, TokenHandler} from 'mo-oauth-sdk';
                                import conf from './Conf'; //adjust the path accordingly
    
    
                                function Callback() {
    
    
                                    useEffect(() => {
                                        const handleCallback = async () => {
                                        const { accessToken, refreshToken, error } = await handleCallbackUri(conf, window.location.href);
    
    
                                        if (error) {
                                        // Handle errors if any
                                        return;
                                        }
                                        //Store tokens securely in your preferred storage.
                                        if (accessToken) {
                                        // Process access token and retrieve user details
                                        const { user, error } = await TokenHandler.handleAccessToken(accessToken, conf);
                                        if (user) {
                                        // Store user details securely and navigate to dashboard
                                        } else {
                                        // Handle errors if any
                                        return;
                                        }
                                        }
                                    };
                                    handleCallback();
                                    }, []);
    
    
                                    return (
                                    <div>
                                      <img src="https://i.gifer.com/ZKZx.gif" alt="Loading.." />
                                      </div>
                                    );
                                    }
    
    
                                    export default Callback;
    
                                
                            
  • Définissez l'itinéraire dans votre App.js ou App.tsx
                                
                                import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
                                import Callback from "./Callback"; //adjust path accordingly
                                import Home from "./Home"; 
                                    function App() {
                                    return (
                                    <Router>
                                    <Routes>
                                        {/* Existing routes..*/}
                                        <Route path="/" element={<Home />} />
                                        
                                        {/* Add new SSO callback handler here*/}
                                        <Route path="/sso/callback" element={<Callback />} />
                                        </Routes>
                                        </Router>
                                    );
                                    }
    
    
                                    export default App;
                                
                            
  • Définir l'itinéraire dans app.routes.ts:
                                
                                import { Routes } from '@angular/router';
                                import { CallbackComponent } from './callback/callback.component';
    
    
                                export const routes: Routes = [
                                { path: 'sso/callback', component: CallbackComponent }
                                ];                    
                                
                            
  • Créer callback.component.ts :
                                
                                import { Component, OnInit } from '@angular/core';
                                import { handleCallbackUri, TokenHandler } from 'mo-oauth-sdk';
                                import conf from './Conf';  //adjust the path accordingly
    
    
                                @Component({
                                …
                                })
    
    
                                export class CallbackComponent  implements OnInit {
    
    
                                async ngOnInit(): Promise {
                                const { accessToken, refreshToken, error } = await handleCallbackUri(conf, window.location.href);
    
    
                                if (error) {
                                // Handle errors if any
                                return;
                                }
    
    
                                if (accessToken) {
                                // Store and Process access token to retrieve user details
                                const { user, error } = await TokenHandler.handleAccessToken(accessToken, this.myconfig);
    
    
                                if (user) {
                                    // Store user details securely and navigate to dashboard
                                } else {
                                    // Handle errors if any
                                    return;
                                }
                                }
                                }
                            
                                
                            
  • Installation de Vue Router
                                npm install vue-router@4
                            
  • Créer callback.vue composant:
                                
                                import { onMounted } from 'vue';
                                import { handleCallbackUri, TokenHandler } from 'mo-oauth-sdk';
                                import conf from './Conf'; //adjust the path accordingly
    
    
                                onMounted(async () => {
                                const { accessToken, refreshToken, error } = await handleCallbackUri(conf, window.location.href);
    
    
                                if (error) {
                                // Handle errors if any
                                return;
                                }
    
    
                                //Store tokens securely in your preferred storage.
                                    if (accessToken) {
                                    // Process access token and retrieve user details
                                    const { user, error } = await TokenHandler.handleAccessToken(accessToken, conf);
                                    if (user) {
                                    // Store user details securely and navigate to dashboard
                                    } else {
                                    // Handle errors if any
                                    return;
                                    }
                                    }
                                }
                                });
                                
                            
  • Créez un fichier router.js ou router.ts si ce n'est pas déjà fait et enregistrez-y la route de rappel.
                                
                                    import { createRouter, createWebHistory } from 'vue-router';
                                    import Home from './components/Home.vue';
                                    import Dashboard from './components/Dashboard.vue';
    
    
                                    const routes = [
                                    {
                                    // Your existing routes
                                    },
                                    {
                                    //add callback route
                                    path: '/callback',
                                    name: 'Callback',
                                    component: Callback
                                    }
                                    ];
                                    const router = createRouter({
                                    history: createWebHistory(),
                                    routes
                                    });
    
    
                                    export default router;
                                
                            

6. Déconnexion (Effacer la session) Facultatif

  • Pour déconnecter l'utilisateur et effacer la session miniOrange du navigateur, appelez le déconnexion fonction fournie par la bibliothèque.
  • Reportez-vous à l'extrait de code ci-dessous :
                        
                        import { logout} from "mo-oauth-sdk";
                        import conf from './Conf'; //adjust the path accordingly
                        const logoutUser= async()=>{
                            logout(conf);
                        }
                    

7. Vérifier la session (facultatif)

Vérifier la session

  • Vous pouvez vérifier la validité du jeton d'accès à l'aide de la méthode isSessionActive. Cette méthode vérifie si le jeton est toujours valide ou a expiré. Vous pouvez effectuer cette vérification à chaque chargement de page ou à intervalles réguliers pendant l'activité de l'utilisateur.
  • Vous pouvez effectuer cette vérification à chaque chargement de page ou à intervalles réguliers pendant l'activité de l'utilisateur.
                                
                                    import {isSessionActive} from "mo-oauth-sdk";
                                    
                                    const validateToken=async() => {
                                        let response = await isSessionActive(conf, accessToken)
                                        if(response)
                                            //session is active do nothing
                                            else{
                                        //logout user and redirect to session expiration page
                                        }
                                    }
                                
                            
  • Si le jeton a expiré, vous pouvez soit obtenir un nouveau jeton d'accès à l'aide du jeton d'actualisation, soit déconnecter l'utilisateur et le rediriger vers une page de session expirée, l'invitant à se reconnecter.
  • Demande d'un nouveau jeton d'accès :
                                
                                import {  TokenHandler} from "mo-oauth-sdk";
    
    
    
                                const getNewToken= async()=>{
                                    const refreshToken =  //fetch your stored refresh token
                                    const {error, access_token} = await TokenHandler.getNewAccessToken(refreshToken, conf);
                                    
                                        if(!error){
                                            //update new access token
                                            return;
                                        }
                                        //handle errors if any
                                        console.log("Error in getting new access token..", error)
                                    }
    
                                
                            

8. Tester l'authentification OAuth

Débit attendu :

  • L'utilisateur clique sur le Se connecter .
  • Le démarrerAutorisation la méthode les redirige vers la page de connexion du serveur d'autorisation.
  • Après une authentification réussie, le serveur d'autorisation redirige l'utilisateur vers l'application. /sso/route de rappel.
  • Le gestionnaire de rappel traite la réponse, récupère les jetons et connecte l'utilisateur.

Cela termine le processus de connexion OAuth, permettant à l'utilisateur d'accéder à l'application en toute sécurité.


Vous souhaitez planifier une démo ?

Démonstration de la plateforme
  



Nos autres produits de gestion des identités et des accès