Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Создаём свой персональный OpenID

Раздел: Programming / Вебмастеру @ 25.12.2008 | Ключевые слова: openid авторизация версия для печати

Автор: ainu
Источник: habrahabr

В последнее время стало популярным использование OpenID. Это удобно, быстро и по-современному.
OpenID — это открытая децентрализованная система единого входа, которая позволяет использовать один логин и пароль на большом количестве сайтов. На сайтах, поддерживающих OpenID, пользователям не приходится регистрироваться и помнить данные для каждого сайта. Вместо этого им достаточно быть зарегистрированными на сайте «провайдера идентификации» OpenID (предоставляющего идентификатор). Так как технология OpenID децентрализованная, то любой сайт может использовать программное обеспечение OpenID в качестве средства входа; OpenID решает проблему не полагаясь на централизованный сайт для подтверждения подлинности пользователя. (Wikipedia)

Лично для меня некоторое время создавало трудность запомнить строку ainu.myopenid.com. Со временем я, конечно, её запомнил, но теперь везде вместо ainu.myopenid.com пишу ramainen.ru (моя страничка, её то я запомнил), и сервисы меня прекрасно понимают. Конечно, я не стал OpenID провайдером, но вспоминание и ввод моего OpenID стал гораздо проще.

Сделать такое самому очень просто. Но для этого нужен персональный сервер (хостинг, можно бесплатный) с поддержкой php, asp или любого другого языка. Ну или такой сервер(хостинг) у друга, который по доброте сделает это на поддомене ник.красивыйадрес.ru.
Суть идеи проста: когда сервис запрашивает OpenID сервер, он посылает в заголовке параметр USER_AGENT
[«HTTP_USER_AGENT»]=>
string(40) «php-openid/2.1.1 (php/5.2.6) curl/7.15.5»

В php это выдирается при помощи $_SERVER[«HTTP_USER_AGENT»];
Если такой заголовок имеется в наличии, то необходимо перенаправлять браузер на свой зарегистрированный OpenID провайдер (например ник.myopenid.com).
В php готовое решение очень простое: в index.php (или в другой главный php-файл) первыми строками пишем следующее:
if (strpos($_SERVER["HTTP_USER_AGENT"],`openid`)!==false){

  header("Location: http://ainu.myopenid.com/");

  //вместо ainu.myopenid.com подставьте свой OpenID

  exit();

}


Проверяется наличие подстроки openid (а вдруг они версию поменяют).
Проверял на МирТесен и в коментариях на паре блогов.

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Programming / Вебмастеру


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.