Псих
Нет ли у кого статей по поводу того, как работает openID провайдер? Интересует алгоритм + минимальные примеры, т.е. что принимает от клиента, что и в каком виде отправляет. Вики и подобные статьи рассказывают очень поверхностно, а гугл выдаёт только готовые (не всегда рабочие) скрипты или один и тот же ман, как поставить phpMyId.
Хотел бы написать свой, максимально простой, openID.
Пишу на PHP.

@темы: Вопрос, Алгоритм, PHP, Интернет

Комментарии
30.04.2010 в 11:51

Ты хочешь написать веб-сервис, который осуществляет авторизацию пользователей и может быть использован на любом сайте.

В чем проблема и что конкретно непонятно?
30.04.2010 в 13:10

Псих
Да.

На сайте вводится ссылка на мой веб-сервис (openID), которая ведёт к скрипту, отвечающему за авторизацию. Как именно сайт обращается к нему? Передаёт какие-либо данные или сразу принимает данные пользователя (если пользователь авторизирован на моём веб-сервисе): логин, имя, имейл и др? В каком формате необходимо отсылать данные сайту? Переменная=значение или в xml? Как называются поля?
Интересует именно стандарт openID.
30.04.2010 в 15:44

Crazy Wizard, у тебя опыт проектирования распределенных систем мало мальский есть? :)

А алгоритм следующий:
1) Пользователь сабмитит форму.
2) Сервер клиента принимает форму.
3) Сервер клиента передает форму твоему веб-сервису.
4) Веб-сервис валидирует форму.
5) Веб-сервис отправляет ответ серверу клиента.
6) Сервер клиента исходя из результатов полученных от веб-сервиса, либо подтверждает авторизацию, либо отказывает пользователю.

У твоего веб-сервиса должны быть следующие приблуды:
1) API, понятный для других программистов, которые будут подключать его на свои сайты.
2) Ядро, которое будет обрабатывать адрес URL, логин и пароль.

Скорее всего потребуется использовать REST, т.к. это самый простой вид распределенной архитектуры.

Вообщем узкое звено - веб-сервис. Почитай как они создаются, и вопросы исчезнут :) Также во многих фреймворках есть библиотеки для работы с REST, поэтому поняв суть - разработка займет очень мало времени. Из спортивного интереса можно использовать SOAP.