web-dev-qa-db-fra.com

Comment faire passer les utilisateurs en utilisant les données de session?

J'ai des applications que j'ai écrites qui utilisent SAML, puis une base de données utilisateur pour définir des autorisations pour toutes. Et en gros, une fois qu'un utilisateur s'est connecté via notre SSO, il peut utiliser les applications avec ses permanentes définies.

Je veux faire la même chose pour WP. Où est-ce que je commence? Je voudrais que WP reconnaisse son nom d'utilisateur de session avant de se connecter, puis de créer un cookie wordpress. J'ai vu un plugin de cookie racine qui transmettrait les informations de l'utilisateur à d'autres sites wp, mais pourquoi ne pas commencer par obtenir le nom d'utilisateur de la session?

J'aimerais que les utilisateurs se rendent sur le site WP et voient qu'ils sont connectés avec leur nom d'utilisateur, mais je suis également ouvert à d'autres méthodes.

Actuellement, ce qui m’est donné pour l’authentification SAML est:

  • uRL de l'application: redirection vers la connexion SSO
  • clé d'application: hachage à chiffrer
  • uid
  • prénom
  • nom de famille
  • email
  • heure (l'heure POST est utilisée pour la validation)

Note: Je viens d'essayer d'utiliser le plugin SAML2 pour WP. D'abord c'est un plugin beta et très déroutant. Deuxièmement, je continue d’obtenir l’erreur fatale de ne pas trouver les informations sur les PDI.

Voudrais vraiment juste prendre la session uid J'ai un journal d'une personne à utiliser cela.

6
STing

J'ai un script très simple qui est lié https://wordpress.stackexchange.com/questions/154802/what-do-i-need-to-do-to-do-to-fully-integrate-a-custom-session-login -into-wp .

En gros, je suppose que votre SSO est sécurisé, que les utilisateurs sont dans votre base de données et que vous n'avez pas besoin de garder la session en vie, sauf pour l'authentification. De mon point de vue, je veux simplement passer l'utilisateur sur WP et laisser le système utilisateur WP faire le reste. J'espère que cela aidera les autres utilisateurs de connexions de session.

0
STing

Si vous voulez travailler avec des sessions, lancez-le d'abord dans votre plugin, thème.

add_action( 'init', 'my_start_session' );

function my_start_session() {

    if ( session_id() )
        return;

    @session_cache_limiter('private, must-revalidate'); //private_no_expire
    @session_cache_expire(0);
    @session_start();
}

Vous pouvez également utiliser la bibliothèque d’Eric Mann: WP Session Manager , ainsi que son tutorial .

2
bueltge