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

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

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