2017-07-06 10 views
1

J'ai drupal module de connexion qui se déclenchera chaque fois que l'utilisateur se connecter à partir du site wordpress il sera déclenché et se connecter au site, mais lorsque l'utilisateur se déconnecter de drupal il ne se déconnecte pas de wordpress. S'il vous plaît vérifier avec le code ci-dessous et me guider résoudre ce problèmecomment détruire la session et les cookies du même serveur en PHP?

function wp_login_user_logout($account) {   
    if (isset($_SERVER['HTTP_COOKIE'])) { 
     $cookies = explode(';', $_SERVER['HTTP_COOKIE']); 
     foreach($cookies as $cookie) { 
      $parts = explode('=', $cookie); 
      $name = trim($parts[0]); 
      setcookie($name, '', time()-1000); 
      setcookie($name, '', time()-1000, '/','sitedomain.com'); 
     } 


    } 

} 

Répondre

1

Vous ne pouvez pas modifier les cookies d'un autre domaine à partir d'un domaine. Donc, je vous suggère de créer une sorte d'API comme celle-ci.

sur l'installation de WordPress ...

<?php 

// file: wp/api/logout.php 
require_once("../wp-load.php"); 


if(empty($_GET["email"])) { 
    die('no email given'); 
} 

// get wordpress user_id by email 
$email = $_GET["email"]; 
$user = get_user_by('email', $email); 
$user_id = $user->ID; 


// get all sessions for user with ID $user_id 
$sessions = WP_Session_Tokens::get_instance($user_id); 

// we have got the sessions, destroy them all! 
$sessions->destroy_all(); 

print("user logged out."); 

maintenant si vous accédez à l'URL de votre wordpress comme celui-ci (assurez-vous d'url encode email id): https://example.com/api/logout.php?email=email%40gmail.com

il sera dconnecter utilisateur id email : [email protected]

maintenant vous pouvez faire la demande de boucle de votre drupal à cette URL.

hors cours ce n'est pas très sûr (on peut déconnecter un utilisateur si elles ont email id)

+0

oui je suis en utilisant un même serveur pour les sites les deux. wordpress sera dans le dossier sur le répertoire racine du site – mike

+0

l'identifiant de l'utilisateur est différent de wordpress et drupal – mike

+0

Obtenir l'erreur http 500 lorsque je me déconnecte bcoz de demander une fois inclus chemin – mike