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 inclusief 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.
Update 1-3-2019: Release van versie 2.3. Versie 2.3. bevat nu een update voor langere sessies en fixes voor Apple gebruikers. Zorg er hierbij voor dat u in de aanroep de 2.2 vervangt door 2.3 en dat de resizehandler aanwezig is.
Includen van Javascript
https://api.e-golf4u.nl/static/sso.2.3.js
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
- 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
- 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
- Afhankelijk van de producten die de golfbaan afneemt zullen er verschillende redirects plaatsvinden, langs elk product af.
- 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.
- 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.
Opmerkingen
0 opmerkingen
Artikel is gesloten voor opmerkingen.