1. aristov-a

    26.01.2010

    0 ↑
    0 ↓
    Пробую разобраться с OpenId. Общая идея понятна. Есть провайдеры, на которых регистрируются пользователи. Есть зависимые сайты, которые используют учётные записи пользователей, зарегистрированных у различных провайдеров.

    Действовал по мануалу http://www.oneid.ru/info/openid-php/
    В-принципе, всё работает, но не всё понятно.

    Кто знает, зачем нужна папка для сохранения служебной информации? Т.е. можно ли без неё обойтись?
    Можно ли через OpenId получить какую-то информацию о пользователе, кроме самого OpenId?
  2. Loki

    26.01.2010

    2 ↑
    0 ↓
    После того как пользователь ввел openid, сервер обменивается с openid провайдером ключами, после чего перекидывает пользователя на сервер провайдера. С этого момента авторизующий сайт связь с пользователем теряет, и когда тот возвращается от провайдера сервер должен убедиться что это именно тот, кто уходил. Для этого и нужны были сохраненные где-то ключи. В принципе, их необязательно хранить в файлах - можно и в БД, например. Главное что они должны некоторое время храниться в отсутствие пользователя и быть доступны по его возвращении.

    По второму вопросу: нет. Легально без участия самого пользователя не получить.
  3. aristov-a

    26.01.2010

    0 ↑
    0 ↓
    наличие этих файлов-ключей никак не вредит безопасности?
    у меня в-принципе все запросы перенаправляются на index.php, а там происходит анализ запроса. но а если такого перенаправления не было бы и кто-то получил бы названия этих файлов? (названия, т.к. содержимое их пусто)
    или к названиям и содержимому файлов из tmp/associations/

    база может быть нужна только в целях оптимизации?
    ключи придётся подчищать время от времени?

    по поводу дополнительной информации о пользователе на странице http://ru.wikipedia.org/w/index.php?title=OpenID написано, что есть некий "Simple Registration Extension". Это как-то можно юзать?
  4. наличие этих файлов-ключей никак не вредит безопасности?

    Держите эти файлы за пределами директорий доступным веб-серверу для раздачи.

    база может быть нужна только в целях оптимизации?

    Хранение служебной информации в файловой системе это лишь один из возможных способов. Альтернативные способы в базе, в памяти или в написанном вами хранилище. В библиотеки есть способ управления хранением.

    ключи придётся подчищать время от времени?

    Это делается автоматически.

    Это как-то можно юзать?

    Да, вы можете воспользоваться либо SRE, либо AX. Но для работы этих расширений требуется поддержка их у провайдеров.

  5. Loki

    26.01.2010

    0 ↑
    0 ↓
    Это делается автоматически.
    Я просмотрел библиотеку (правда, не стану утверждать что очень пристально) и не увидел там вызова очистки в автоматическом режиме. Если хранить в /tmp то очистка произойдет конечно, но не благодаря библиотеке. Может я что-то упустил - поправьте, пожалуста.
  6. arsen

    08.04.2010

    0 ↑
    0 ↓
    Очистку в принципе не сложно прикрутить.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.