-
Пробую разобраться с OpenId. Общая идея понятна. Есть провайдеры, на которых регистрируются пользователи. Есть зависимые сайты, которые используют учётные записи пользователей, зарегистрированных у различных провайдеров.
Действовал по мануалу http://www.oneid.ru/info/openid-php/
В-принципе, всё работает, но не всё понятно.
Кто знает, зачем нужна папка для сохранения служебной информации? Т.е. можно ли без неё обойтись?
Можно ли через OpenId получить какую-то информацию о пользователе, кроме самого OpenId? -
После того как пользователь ввел openid, сервер обменивается с openid провайдером ключами, после чего перекидывает пользователя на сервер провайдера. С этого момента авторизующий сайт связь с пользователем теряет, и когда тот возвращается от провайдера сервер должен убедиться что это именно тот, кто уходил. Для этого и нужны были сохраненные где-то ключи. В принципе, их необязательно хранить в файлах - можно и в БД, например. Главное что они должны некоторое время храниться в отсутствие пользователя и быть доступны по его возвращении.
По второму вопросу: нет. Легально без участия самого пользователя не получить. -
наличие этих файлов-ключей никак не вредит безопасности?
у меня в-принципе все запросы перенаправляются на index.php, а там происходит анализ запроса. но а если такого перенаправления не было бы и кто-то получил бы названия этих файлов? (названия, т.к. содержимое их пусто)
или к названиям и содержимому файлов из tmp/associations/
база может быть нужна только в целях оптимизации?
ключи придётся подчищать время от времени?
по поводу дополнительной информации о пользователе на странице http://ru.wikipedia.org/w/index.php?title=OpenID написано, что есть некий "Simple Registration Extension". Это как-то можно юзать? -
наличие этих файлов-ключей никак не вредит безопасности?
Держите эти файлы за пределами директорий доступным веб-серверу для раздачи.
база может быть нужна только в целях оптимизации?
Хранение служебной информации в файловой системе это лишь один из возможных способов. Альтернативные способы в базе, в памяти или в написанном вами хранилище. В библиотеки есть способ управления хранением.
ключи придётся подчищать время от времени?
Это делается автоматически.
Это как-то можно юзать?
Да, вы можете воспользоваться либо SRE, либо AX. Но для работы этих расширений требуется поддержка их у провайдеров.
-
Это делается автоматически.Я просмотрел библиотеку (правда, не стану утверждать что очень пристально) и не увидел там вызова очистки в автоматическом режиме. Если хранить в /tmp то очистка произойдет конечно, но не благодаря библиотеке. Может я что-то упустил - поправьте, пожалуста.
-
Очистку в принципе не сложно прикрутить.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.



