2017-01-20 2 views
0

Je suis en train de mettre en place le processus suivant:Obtenir la session SAML de simpleSAMLphp sans essayer d'authentifier

utilisateur se connecte l'application A.

App A rebondit sur une instance simpleSAML centrale pour créer une session.

utilisateur accède application B.

App B à l'instance rebondit centrale simpleSAML pour vérifier une session.

Si une session existe, l'utilisateur est renvoyé à l'application B avec ses attributs et est authentifié sur l'application B. Ce bit fonctionne.

Si une session n'existe pas, l'utilisateur doit être renvoyé à l'application B sans tentative de connexion sur l'instance centrale. Ce bit ne fonctionne pas.

Existe-t-il un noeud final simpleSAML qui pourrait faire cela? Je suis à la recherche d'un getSession ou similaire.

Répondre

0

Le paramètre souhaité est isPassive. Exemple:

$auth_source = new \SimpleSAML_Auth_Simple('source_name'); 
$auth_source->requireAuth(array('isPassive' => true)); 

Avec le PCI norme SimpleSAML, cette demande sera authentifié comme normale si l'utilisateur est connecté sur le PCI. Si l'utilisateur ne l'est pas, une erreur SimpleSAML_Error_NoPassive sera renvoyée. C'est au SP de s'occuper de ça.