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: Хайде да го видим в действие

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

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

Влезте в общността на блога ми.
8269 човека го направиха от 2004 година досега! Запишете се и получавайте нови материали от време на време.
Аз мразя спама. Няма да получавате такъв от мен.

Leave a Reply

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