Xauth – нов начин за представяне в Уеб

Какво е XAuth?

XAuth е отворена платформа за разширена идентификация на потребители през уеб.Сайтовете, които участват в процеса генерират уникални идентификатори за всеки от участниците си.  На пръв поглед това е споделена сесия между различни сайтове, ако например се идентифицирате пред bogomil.info, чрез Xauth, можете да бъдете идентифициран и на другия ми сайт talkweb.eu или в моята gmail поща, ако ви разреша.

Как работи

Основното изискване е браузъра ви да поддържа  HTML5, защото се работи с обекти, които се поддържат само от тази версия. Ако използвате последна версия на браузъра си, това няма да е проблем. Ето и основните участници в процса:

– Extenders – са уеб услугите в които вече сте логнат и искат да участват в Xauth – примерно пощата ви в google или друга популярна услуга.

– Retrievers – са уеб услуги, които искат да предоставят услуги на потребители, които вече са логнати през някой от Extenders.
– XAuth.org е последната част от уравнението. Цялата комуникация на  XAuth става чрез iframe и .jsh. Всички данни обаче се запазват на ВАШИЯ си КОМПЮТЪР. Никъде не се пази нищо за вас, освен при вас.

Стъпка 1: Да станем част от мрежата

Единственото, което трябва да направите е да сложите в главата на файла си следния ред и вече е готово
<script type="text/javascript" src="http://xauth.org/xauth.js"></script>

Стъпка 2: Да станем Extender

Първото което трябва да направим е да създадем token, което на български може да се нарече и знак или следа, защото то именно върши това. Ето функцията

function doLogin(doneUrl) {
XAuth.extend({
token: "1", //Тук ние решаваме какво да е - трябва да е уникално за нашия си сайт
expire: new Date().getTime() + 60*60*24*1000, // до кога е валиден
extend: ["talkweb.eu"], //разреши на скрипта да работи само с един домейн
callback: location.replace(doneUrl)
});
}

Стъпка 3:Да станем Retriever

Хайде сега да извлечем това, което създадохме в първа стъпка:

function doRetrieve() {
XAuth.retrieve({
retrieve: ["talkweb.eu"],
callback: onRetrieve
});
}

function onRetrieve(data) {
var numTokens = 0;
var str = “;
if (data && data.tokens) {
for (var token in data.tokens) {
if (numTokens > 0) str += ‘, ‘;
str += token + ‘: ‘ + data.tokens[token].token;
numTokens++;
}
}

if (str == “) {
str = ‘(none)’;
}
document.getElementById(‘login_status’).innerHTML = str;
}

Стъпа 4: Хайде да го видим в действие

Ето и примера на английския ми блог, можете да видите целия сорс код на страницата.

Тук има още малко залитания по темата.

Оставете ми коментар

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.