0
<< предыдущая заметкаследующая заметка >>
29 декабря 2008
openid

Если в левой колонке вы видите ссылочку «залогиниться» с мигающей иконкой, значит, я привинтил OpenID и сделал регистрацию на сайте для тех, у кого OpenID нет, а зарегистрироваться хочется. Это пока тестовая версия, там нет еще редактирования личного кабинета и еще куча недоработок. Но уже функционирует.

Сайт ЖЖ, кстати, был послан и обойден — все работает, несмотря на их идиотские баны. А если у кого-то есть сервер, который точно никогда не будет сам коннектиться в ЖЖ, и куда можно поставить файлик php из 6 строчек, то и работу сервиса seppuku возобновим.

UPD: Спрашивали, как настроить openid? Рассказываю.

Задача 1. Система для опознавания посетителей сайта. Допустим, у вас есть сайт, на котором вы хотите принимать посетителей и точно знать, что жж-юзер dr_piliulkin — это именно он, а не, скажем, жж-юзер doctor_livsy, подписавшийся чужим именем. Для этого надо установить систему, которая будет ходить на lj и спрашивать по протоколу OpenID подтверждение, после чего можно авторизовать этого человека (его браузер) на своем сайте (логин+пароль в куках, шоб каждый раз не ломиться на lj). Чтобы сделать такую систему, надо установить class.openid.php. Я взял последнюю третью версию, там в комплекте готовый примерчик, все просто.

Задача 2 — принципиально иная. Допустим, у вас есть свой личный сайт пупкин.ру, и вы хотите оставлять комментарии в lj и других блогосервисах, гордо подписываясь «пупкин.ру» (в моем случае — lleo.aha.ru). Чтобы не пользоваться никакими сторонними посредниками, надо, чтобы ваш сайт стал провайдером OpenID. Здесь нужна другая библиотека — phpMyID. Капризная сука, шо весь пиздец — пытается сама определить по конфигам сервера свой адрес, порт и т.п. и всегда ошибается. Пробовал на 3 сайтах — из них только на llео.hоmеiр.nеt завелась с первой попытки. В Зеноне поднялась только после того, как Чарли вписал руками в начало MyID.php строчки $SERVER_PORT=80; $_SERVER[«SERVER_PORT»]=80; — самоопределялось криво. В общем, если сразу не заработала, то не опускайте рук (как я полтора года назад), а читайте к ней мануал и пробуйте включать разные настройки, чтобы тупо ей указать, кто она и где. Да, и не забудьте по инструкции вписать в код титульной страницы вашего сайта две специальные строчки "<rel ...>" — в пакете readme достаточно подробный.

При стыковании 1 и 2 обнаружилась некая бага: поскольку скрипт (2) находится не по адресу lleo.aha.ru, а где-то типа lleo.aha.ru/sys/openid/, то именно этот адрес мой Опенид-сервер возвращал мне (скрипту 1) в качестве идентификатора. Победить я это не смог, хотя заметил, что при авторизации на других сайтах, они считывают lleo.aha.ru правильно. Вылечилось в скрипте (1) добавлением к адресу возврата get-переменной "?loginil=pupkin.myopenid.com», в которой запоминается, кого изначально логинил Пупкин, и потом я определяю имя по ней, игнорируя присланный идентификатор. Хотя с точки зрения безопасности у меня есть некоторые сомнения.

UPD2: А вот к специалистам вопрос по верстке. Допустим, мне надо сделать в форме вывода комментария имя юзера с иконкой, и чтобы это было в той же строке, но в отступе. Если я использую <div> — автоматом все это пишется на следующей строке (а номер комментария наверху остался), некрасиво. Раньше у меня стоял <span>, который на другую строку не переносит, и все было нормально, пока не пришлось вставлять иконки. Я четко помню, что в каких-то иобанных эксплорерах тэг <span> не работает, если в него заключен не текст, а еще какие-то объекты, в том числе картинки. Так ли это? И как исправить?

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок

Комментарии к этой заметке автоматически отключились, потому что прошло больше 7 дней или число посещений превысило 20000. Но если что-то важное, вы всегда можете написать мне письмо: lleo@lleo.me

Комментарии открытых 341: