Single Sign On (ou SSO) sur site web

Signaler
Messages postés
9
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
5 février 2007
-
sylvunix
Messages postés
93
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
4 mars 2009
-
J'aimerai savoir si quelqu'un a déjà mise en place in single sign on sur un site web ? ? ? ?
Je connais le principe mais pour programmer tout ça je suis un peu embrouillé lol.
Le principe:
    - supposons 2 site: le site principal A et un partenaire B ( ex: site de blog ).
    - le sso devra:
          - quand on crée un compte sur A, ça crée automatiquement un compte sur B ( en envoyant une url vers B avec les parametres                 qu'il faut).
          - quand on se connecte avec ses identifiants sur le site A, derrière , une connection se fait sur le site B ( en envoyant url+param)
                Ainsi, l'utilisateur n'aura plus a ré-entrer ses identifiants lorsqu'il voudra accéder au service ( de blog par exemple)

Quels sont les points important ? ? ?
    - utiliser des variables de session ? pas possibles avec 2 sites différents ?
    - utiliser des cookies qui seront sauvegardés sur le serveurs ? ? ?
    - est-ce-que les 2 sites doivent avoir la même pase de données? pour faire la vérification ?

remarque: les parametres à envoyer pour se connecter au service B sont:
    - le username et le key !
          quel key ? ? ? ? le seul key que je connaisse est celui généré lorsqu'un compte a été créée sue le site A.

aidez moi svp
A voir également:

4 réponses

Messages postés
93
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
4 mars 2009

Salut rmic210282,

Le SSO peut être implémenté de plusieurs façons avec ou sans logiciel du marché.

Au niveau web, l'architecture la plus fréquemment rencontrée intègre un portail (simple serveur web) sur lequel s'effectue l'authentification de l'utilisateur (depuis un annuaire LDAP par exemple). Des liens vers d'autres serveurs, correspondants aux droits de l'utilisateur, lui sont alors proposés. L'authentification est ensuite propagée via l'url lorsqu'un lien est sélectionné.

Quel est ton objectif ? Avec plus de détails, peut-être pourra-t-on te répondre plus de façon plus précise.

sylvunix
Messages postés
9
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
5 février 2007

Salut sylvunix,
Je dois mettre en place un SSO sans logiciel particulier: je dois ecrire moi même les codes à créer ou à ajouter aux fichiers déjà existant.

Objectif:
    - inscription sur le site A déclenche la création d'un compte sur le site B.
    - Connection sur site A déclenche la connection B
    - Connection sur site B déclenche la connection A via un formulaire d'identification déporté de A.
    - La supperssion de son compte A déclenche la suppression de son compte sur le site B
    - et la mise à jour de son profil aussi.

Doc:
    pour créer un compte sur le site B il suffit d'envoyer une url de type:
       - http://www.domaine.com/api/create.php
             et le paramêtres en methode GET urlencodé : nom, prenom . . .
    pour se logguer sur le site B:
       - http://www.domaine.com/api/login.php
             param: USERNAME et KEY.

Remarques:
    - Jusque là je ne sais pas si les 2 sites communiquent avec la même base de données
    - au niveau du KEY je ne sais pas si c'est le key généré par le site A ou le key du site B, ou un key commun aux 2 site. Ce qui signifierai qu'ils font référence à la même base d'utilisateurs?
Messages postés
9
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
5 février 2007

au fait le KEY est envoyé avec les parametres vers creat.php, désolé jen'ai pas bien regardé les docs lol
Messages postés
93
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
4 mars 2009

Avant de se lancer dans le codage, il est indispensable de connaître tous les détails techniques et de faire un choix d'architecture technique.

La solution que tu présentes pose un énorme problème de sécurité : depuis le web, avec l'url qui va bien, il est possible d'effectuer des opérations sur la base utilisateurs. Il faut absolument que l'accès à la base de données soit limité à l'applicatif et que cette base ne soit pas visible depuis internet.

Ensuite il serait très intéressant que les deux sites puissent accéder à une même base. Si les deux sites sont physiquement distincts, on pourra utiliser un VPN ou du IP tunel. La solution extrême serait de disposer de deux bases qui seraient régulièrement synchronisées.
Régler cette problématique de façon fiable uniquement avec du PHP me semble difficile.

sylvunix