Met de client-side Single Sign On (SSO) oplossing van E-Golf4U is het eenvoudig om een SSO koppeling te maken tussen een website en verschillende applicaties. Door middel van simpele cross browser oplossingen werkt deze SSO voor alle nieuwe browsers incl. safari.

Update 7-2-2012: Release van versie 2.2. Versie 2.2. bevat nu ook een automatisch credential check en een mogelijkheid om de response te laden in een element. Zie de gewijzigde functies hieronder.

Includen van javascript


https://api.e-golf4u.nl/static/sso.2.2.js

 Vervolgens dient de plugin gekoppeld te worden aan het login formulier.
 De reden voor dit is dat de plugin het onsubmit event afvangt om eerst in te gaan loggen bij E-Golf4U alvorens een submit te doen binnen de website.
De onderstaande code kan bijvoorbeeld gebruikt worden icm jQuery, uiteraard kan dit ook met native javascript.

Belangrijk: Doordat er nu een validate call plaatsvindt kan de login pas gebeuren op de submit.

 

$(function(){
    var sso = new EGSSO({
        environment : '[naam van egolf4u omgeving]',
        form : 'egolf4u_login_form', //Id van het inlog formulier
        username_field : 'egolf4u_login_username', //Dit is de het id van de username
        password_field : 'egolf4u_login_password', //Dit is de id van het password veld
        logout_url : '[url naar logout script op eigen server]', //Dit is de url die aangeroepen wordt middels de .logout() functie
        message_placeholder : 'egolf4u_login_message' //Een optionele placeholder voor berichten van de server, wanneer dit niet gedefined wordt zal er een alert weergegeven worden
    });
   
    $('#egolf4u_login_submit').click(function(){ //Een onclick van de submit bijvoorbeeld 
        return sso.login();
    });

    sso.start();

    $('.logout_button').click(function(){
        return sso.logout();
    });
});

 


Uitleg werking
  1. De SSO code 'hookt' in op het login formulier door de action van het formulier tijdelijk te replacen met de action van de E-Golf4U API
  2. Op het moment dat de user inlogt worden de gegevens gesubmit naar de E-Golf4U API en gevalideerd tegen de E-Golf4U omgeving van de desbetreffende club
  3. Afhankelijk van de producten die de golfbaan afneemt zullen er verschillende redirects plaatsvinden, langs elk product af.
  4. Aan het einde van de redirect cycles zal de API automatisch de user terug redirecten naar de originele referer met een unieke GET parameter egolf4u_login_callback.
  5. De plugin herkent deze callback en zal het formulier opnieuw vullen met de oorspronkelijke waardes en deze naar de oorspronkelijk action submitten

User valideren

 Het is mogelijk om de inlog credentials te verifiëren alvorens de login procedure gestart wordt.
 Dit kan door middels een GET request te doen naar onderstaand endpoint. Deze endpoint ondersteunt ook JSONP voor client side requests.

https://api.e-golf4u.nl/auth/validate?username=USERNAME&password=PASSWORD&environment=ENVIRONMENT
Natuurlijk kan bovenstaand ook vanuit server side code gedaan worden om server side een user nog eens te valideren en zo nodig server side in te loggen.

E-Golf4U IFrame Ledengedeelte include

Hoe het includen van het E-Golf4U iframe werkt en welke parameters daar voor nodig zijn staat uitgelegd in onderstaand help document.
Om het iframe resizen werkend te krijgen dient de resizehandler.js en de helper.html ingeladen te worden, de details daar van staan in het help artikel hieronder:

http://help.e-golf4u.nl/solution/categories/11485/folders/24783/articles/10315-hoe-include-ik-het-iframe-in-een-website-