0
<< предыдущая заметкаследующая заметка >>
30 декабря 2009
Задолбался вчера с openid

Но вроде настроил — будет работать лучше, чем раньше. Единственная проблема — самая лучшая (по экспериментам) библиотека openid имеет неприятное свойство: подтвердить openid ты можешь, но когда клиент вернется на твою страницу успешно подтвержденным, ты никогда не узнаешь, КАКОЙ OPЕNID ТЫ ПРОВЕРЯЛ. в старом дневнике я встраивал его в адрес возврата, и глючили вордпрессы. Теперь решил сохранять в куках. Но это дыра в безопасности: злоумышленник может попытаться проверить dr-livsey.livejournal.com (безуспешно), но полученную куку (пусть и хэшированную) запомнит и подставит при проверке vasyapupkin.pomoika.com, и система сочтет его dr-livsey. Решения пока не придумал. это одна из причин, почему раздел авторизации готов, но закрыт.

Причина вторая — сложность алгоритма. Каждый пользователь, зашедший второй раз и умеющий сохранять куки, получает номер в базе. После чего он может а) заполнить свою анкетку и пользоваться этим номером дальше, б) ввести свой прежний логин/пароль или openid и вернуть себе законный (утерянный) номер. Логично будет при этом-нынешний считать "временным" и стереть. Но перед тем логично пройти по базе голосований, комментариев и проч, и если он с временного номера успел где-то наследить, то проставить в этих базах номер старый, поскольку стало понятно, что это один человек, и все его деяния надо обобщить. Ну, чтобы я мог нажать кнопочку "все комментарии, оставленные этим человеком" и видеть все. Логично? Идем далее. Ну а если человек не спешил логиниться старым логином, а использовал временный долго, обжил его,-прописал пароли, прошел openid-авторизацию, а теперь вспомнил старый пароль и решил перелогиниться старым номером? В общем, на этом вчера мысль остановилась, и я пошел спать.

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