Maison  >  Article  >  développement back-end  >  Analyse de la façon d'utiliser PHP pour implémenter l'authentification unique

Analyse de la façon d'utiliser PHP pour implémenter l'authentification unique

不言
不言original
2018-07-24 11:36:221704parcourir

Le contenu partagé avec vous dans cet article est une analyse de la façon d'utiliser PHP pour implémenter l'authentification unique. Le contenu est d'une grande valeur de référence et j'espère qu'il pourra aider les amis dans le besoin.

Explication de l'authentification unique

L'authentification unique (SSO), appelée SSO, est actuellement l'une des solutions d'intégration commerciale d'entreprise les plus populaires. La définition du SSO est que dans plusieurs systèmes d'applications, les utilisateurs n'ont besoin de se connecter qu'une seule fois pour accéder à tous les systèmes d'applications mutuellement fiables.

Méthode de mise en œuvre

Côté serveur

  • Le "cookie partagé" est le moyen de partager la session. Essentiellement, le cookie stocke simplement. le média session-id, session-id peut également être placé dans l'URL de chaque requête. Le mécanisme de session est un serveur et une session

  • La méthode SSO-Token est parce que la méthode Le partage de la session n'est pas sûr, nous n'utilisons donc plus l'identifiant de session comme identifiant d'identité. Nous générons un autre identifiant et le nommons SSO-Token. Cet identifiant est unique dans l'ensemble du groupe de serveurs, afin que tous les groupes de serveurs puissent vérifier l'intégralité. En même temps, obtenir le jeton signifie obtenir les informations de l'utilisateur

Côté navigateur

  • Il existe une autre étape très critique pour la signature unique. Dans. Cette étape est la suivante La méthode de vérification du jeton côté serveur n'a rien à voir avec cela. Que la méthode de « session partagée » la plus ancienne ou la méthode de « jeton » actuelle soit utilisée, l'identification d'identité sera confrontée à un tel problème. du côté du navigateur : l'utilisateur se connecte avec succès et obtient le jeton (ou l'identifiant de session), comment laisser le navigateur le stocker et le partager sous d'autres noms de domaine ? Le même nom de domaine est très simple. Stockez le jeton dans le cookie et définissez le chemin du cookie sur le nom de domaine de premier niveau afin que tous les sous-domaines puissent lire le jeton dans le cookie. Voici comment partager des cookies (c'est ce qu'on appelle des cookies partagés, celui ci-dessus devrait être appelé session partagée). Par exemple : Google, google.com est son nom de domaine de premier niveau, mail.google.com pour les services de messagerie et map.google.com pour les services de cartographie sont tous deux ses sous-domaines. Mais que devons-nous faire lorsque nous passons à plusieurs domaines ? Google possède également un nom de domaine, youtube.com, qui fournit des services vidéo[2].

Mécanisme de mise en œuvre technique

Lorsque l'utilisateur accède au système de candidature pour la première fois, parce qu'il n'est pas encore connecté, il sera
guidé vers le système d'authentification pour se connecter. ;Selon les informations de connexion fournies par l'utilisateur, le système d'authentification effectue une vérification d'identité. S'il réussit la vérification, il doit renvoyer un identifiant d'authentification - un ticket lorsque l'utilisateur accède à nouveau à d'autres applications. apportez ce ticket avec lui car Après avoir reçu la demande, le système d'application enverra le ticket au système d'authentification pour vérification et vérifiera la validité du ticket. Si la vérification est réussie, l'utilisateur peut accéder au système d'application 2 et au système d'application 3 sans se reconnecter.
Pour mettre en œuvre le SSO, les fonctions principales suivantes sont requises :
Tous les systèmes d'application partagent un système d'authentification d'identité.

  • Un système d'authentification unifié est l'une des conditions préalables au SSO. La fonction principale du système d'authentification est de comparer les informations de connexion de l'utilisateur avec la base de données d'informations utilisateur et d'authentifier l'utilisateur ; après une authentification réussie, le système d'authentification doit générer une marque d'authentification unifiée (ticket) et la renvoyer à l'utilisateur. De plus, le système d'authentification doit également vérifier le ticket pour déterminer sa validité.
    Tous les systèmes d'application peuvent identifier et extraire les informations du ticket

  • Pour réaliser la fonction SSO et permettre aux utilisateurs de se connecter une seule fois, le système d'application doit être capable d'identifier les utilisateurs qui ont déjà connecté. Le système d'application doit être capable d'identifier et d'extraire les tickets. Grâce à la communication avec le système d'authentification, il peut déterminer automatiquement si l'utilisateur actuel s'est connecté, complétant ainsi la fonction d'authentification unique.

Recommandations associées :

Utilisation de PHP pour implémenter une inscription et une connexion backend simples (avec code)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn