Xpression Manager/SSO

Uit XpressionManager
Naar navigatie springen Naar zoeken springen
sso-map

Automatisch inloggen met SSO

Door middel van SSO (sigle sign on) is het mogelijk om automatisch via een link ingelogd te worden.
Om deze koppeling te realiseren gaat u als volgt te werk:

Stap 1 - vraag gegevens aan bij XM

Voordat een koppeling gemaakt kan worden dient men de SSO gegevens voor het betreffende bedrijf aan te vragen via de [helpdesk.xpressionmanager.nl] Deze zijn nodig bij stap 5.

Stap 2 - vraag gegevens van de eindklant op

Om een gebruiker automatisch in te laten loggen dient deze te bestaan binnen het bedrijf waarvoor u deze SSO heeft aangevraagd.
Er kan dan gekoppeld worden op bijvoorbeeld de naam en het e-mailadres (eventueel uit te breiden).

In ons voorbeeld zouden de login gegevens bijvoorbeeld zijn:
Naam: Jan ter Merwede
E-mail: j.merwede@domein.nl

Stap 3 - koppel de organisatie structuur velden

In ons voorbeeld is het veld 'naam' en 'email' uit de organisatiestructuur leidend in de SSO koppeling
Om dit kenbaar te maken ga je in de organisatiestructuur bij het veld naar het tabblad 'instellingen'
daar zie je onderaan de pagina een veld staan met de naam "XML tagnaam (als dit veld via een import of SSO koppeling moet worden gevuld)"
vul deze zowel in bij het veld waar de naam is staat met bijvoorbeeld 'name' en bij e-mail bijvoorbeeld 'email'

sso-preview


Stap 4 - xml voor de het verzoek maken

De gebruikersgegevens verwerk je daarna in een xml omschrijving zoals onderstaand:

<user>
	<name>Jan Merwede</name>
	<email>j.merwede@domein.nl</email>
</user>

Stap 5 - configureer php code

Sso-config-setup.jpg
Zoals u in bovenstaande screenshot kan zien zijn er in de config enkele instellingen nodig.
Deze heeft u in de eerste stap van Xpression Manager ontvangen.
Het XML format met de gebruiker die aangemaakt is zal aangepast moeten worden naar bovenstaande formatering
of u zult de gegevens in één stuk door moeten typen:

$mijnstring = '<user><name>Jan Merwede</name><email>j.merwede@domein.nl</email></user>';

Stap 6 - volledige PHP Code

<?php
////////////////////////////////////////////////////////////////////////
// © 20149 Xpression Manager
// helpdesk[@]xpressionmanager[.]nl
// http://helpdesk.xpressionmanager.nl
// SSO PHP SCRIPT V1.0
// GEGEVENS VOOR CONFIG WORDEN U VOORAF AANGELEVERD
////////////////////////////////////////////////////////////////////////

/*************
* CONFIG
**************/

//Encryptiesleutel voor SSO
$key = base64_encode("---code invulen---");
//Initialisatievector voor SSO
$iv = "---code invulen---";
//Identifier voor SSO
$identifier = "---code invulen---";
//Eigen url voor de SSO (overeen komend met de licentienaam of de eigen url van de licentie)
$url = "---url invulen---";

//de te encrypten string (XML met gebruiker gegevens
$mijnstring = '<user>'.
			'<name>---invulen---</name>'.
			'<email>---invulen---</email>'.
		'</user>';
/*************
* ENDCONFIG
**************/

//encrypt met AES 128 bits encryptie
$cryptogram = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $mijnstring, MCRYPT_MODE_CBC,$iv);
//omzetten naar een leesbaar/overdraagbaar formaat
$result = base64_encode($cryptogram);
//de XML request samenstellen
$req = '<?xml version="1.0" encoding="UTF-8"?><request><identifier>'. $identifier .'</identifier><data>'. $result .'</data></request>';
//via CURL gaan we nu de request versturen
$postData = array('xml' => $req);
$ch =curl_init();
$options=array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData
);
curl_setopt_array($ch, $options);
$output = curl_exec($ch);

/*************
* PHP variabele $output is voorzien van de SSO link.
* Onderstaand is wordt deze als echo getoond.
* Een optie is om de gebruiker automatisch door te zetten via:
* header ("Location: $output");
**************/

echo $output;
?>

Stap 7 - Link als output

Als bovenstaande correct is ingevoerd krijgt u als output een link terug zoals onderstaand:

uw-url.domeinnaam.nl/extern/generic_sso_logon/1001?u=86hg682f7sfgafc8def7ac7dfhga6esgfsfg8f214

F.A.Q. SSO

Indien u tegen fouten aanloopt ontvangen wij graag de code tegemoet zodat wij deze kunnen nakijken
Bekende problemen zijn:

  • CURL wordt niet ondersteund op uw server
  • XML veldnamen komen niet overeen met de organisatiestructuur
  • gebruiker bestaat niet binnen XM

Nieuwsbrief contacten importeren tbv Doelgroepbeheer

Voor het importeren van contacten in doelgroepbeheer is de werking hetzelfde.
Enkel de URL en XML voor de data veranderen:

URL: klantnaam.xpressionmanager.nl/extern/generic_contacts_import

LET op: Contacten worden alleen aangemaakt, en niet overschreven of verwijderd. Hetzelfde geldt voor campagnes.
Het XML verzoek ziet er als volgt uit:

        <user>
           <email>gebruiker@xpressionmanager.nl</email>
           <name>Jan ter Merwede</name>
        <user>
        <campaign>
           <title>Mijn campagne</title>
           <contacts>
             <contact>
                <contactemail>ontvanger1@voorbeeld.nl</contactemail>
             </contact>
             <contact>
                <contactemail>ontvanger2@voorbeeld.nl</contactemail>
             </contact>
           </contacts>
        </campaign>