Bridge

Depuis sa version 1.3, MushRaider permet l’intégration de systèmes d’authentification externe, aussi appelés Bridge.

Pour télécharger le bridge correspondant à votre système rendez-vous sur la page de téléchargement.

 

Activer le bridge

Sur votre site

  1. Installer et configurer le plugin correspondant à votre système
  2. Noter l’adresse et la clef secrète qui seront données par ce dernier

Sur MushRaider

  1. Aller dans l’administration du site
  2. Paramètres => Intégration
  3. Renseigner l’adresse du site externe préalablement donnée par le plugin installé sur votre site
  4. Renseigner la clef secrète préalablement donnée par le plugin installé sur votre site
  5. Cocher « Intégrer MushRaider dans votre site/forum actuel »

Vous devriez maintenant être en mesure de vous connecter avec les identifiants de votre site/forum

/!\ Si le système ne fonctionne pas (et donc vous ne pouvez plus vous connecter) et que vous souhaitez le désactiver il faut supprimer dans votre base de donnée dans la table settings la ligne « bridge » /!\

 

Développer un bridge pour MushRaider

Vous êtes développeur ou simple néophyte et souhaitez développer un plugin pour MushRaider, je vous aime déjà =)

L’API de bridge avec MushRaider est on ne peut plus simple. Une simple requête HTTP est envoyée au plugin distant avec le login et le mot de passe crypté, et ce dernier n’a plus qu’à retourner un flux json indiquant si l’identification s’est bien déroulée ou non. Facile non ?

La pratique par l’exemple :

/*
Bridge exemple for MushRaider
More infos on http://mushraider.com/bridge
*/
header('Content-Type: application/json');
// Secret key added in MushRaider's admin
$salt = 'YOUR_SECRET_KEY';
// Test if we get the login & password infos
if(empty($_POST['login']) || empty($_POST['pwd'])) {
    echo json_encode(array('authenticated' => false));
    exit;
}
// Decrypt password
// No reason to change this
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$pwd = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $salt, stripslashes($_POST['pwd']), MCRYPT_MODE_ECB, $iv);
/*
* Test here if the user exist and have the good permissions etc...
* Code goes here...
*/
// Return json to mushraider
$userInfos = array();
$userInfos['authenticated'] = true; // Or false if don't
$userInfos['email'] = '[email protected]'; // Replace it with the user's email, offcourse
$userInfos['role'] = 'member'; // Optional parameter, force & set the role for this user. Can be 'member' (default), 'officer' or 'admin'
echo json_encode($userInfos);
exit;

Ceci est l’exemple le plus simple de bridge MushRaider que vous pouvez adapter facilement et rapidement à vos propres systèmes. Si vous rencontrez le moindre problème n’hésitez pas à consulter le forum.

Si vous aimez (ou pas), partagez...Share on FacebookTweet about this on TwitterShare on Google+Share on Reddit