Назад | Перейти на главную страницу

Как настроить simpleid для получения моего идентификатора?

Я пытаюсь настроить Apache как поставщика OpenID, используя simpleid.

Я следил за инструкции к письму, пока я не добрался до части о "Заявите свой идентификатор".

Вот где я застрял.

Допустим, мой сервер находится в http://example.com и моя простая установка находится на http://example.com/openid, и я установил личность john.doe и его URL-адрес идентификатора http://example.com/openid/john.doe.

Я могу перейти на простую страницу входа на мой сервер и войти в систему. На панели инструментов отображаются все личные данные, которые я настроил, и указанный выше идентификатор на панели инструментов.

Когда я вхожу в систему, используя Тестовый сайт Open ID Я получаю 2 результата, ни один из них не правильный:

Сценарий 1

Я создаю файл в /openid/john.doe/index.html так что он будет доступен на http://example.com/openid/john.doe со следующим содержанием:

<html>
<head>
<link rel="openid.server" href="http://example.com/openid/" />
<link rel="openid2.provider" href="http://example.com/openid/" />
</head>
</html>

Когда я пытаюсь войти на тестовый сайт, используя http://example.com/openid/john.doe, Я перенаправляюсь на страницу входа с тестового сайта. Когда я вхожу в систему, используя имя пользователя / пароль, он регистрирует меня, но жалуется, что ID, который я использую, отличается от ожидаемого. Игра закончена.

Сценарий 2

Я удаляю файл по адресу /openid/johndoe/index.html так что ничего нет http://example.com/openid/john.doe.

Теперь, когда я пытаюсь войти в систему, он регистрирует меня, показывает мне различные атрибуты личности, которую я использовал для входа в систему, а затем выдает следующую ошибку.

OpenID authentication failed: No matching endpoint found after discovering http://example.com/openid/john.doe.

Я не уверен, что делаю здесь не так. Любая помощь будет высоко ценится.

PS: я думаю, это должно быть помечено simpleid.

Как ни странно, решение заключалось в том, чтобы поместить содержимое HTML в файл с именем /openid/john.doe а не в /openid/john.doe/index.html.

Теперь все работает нормально.

Я только что наткнулся на этот вопрос. У меня SimpleID работает со следующим в index.html который лежит в корне моего домена.

<link rel="openid.server" href="https://openid.example.com/" />
<link rel="openid2.provider" href="https://openid.example.com/" />

Мой OpenID это URL моего сайта, http://example.com. Если я перейду на этот сайт и Просмотреть источник в моем браузере я вижу две строки в <head> раздел.

Если я перейду к https://openid.example.com затем мне предоставляется логин на панели управления SimpleID, и я могу войти в систему с учетными данными, установленными в моем файле идентификации (например, http://example.com и пароль, который я хешировал в конфиге).

Обратите внимание identity в этой конфигурации должен быть таким же, как URL-адрес, который загружает страницу, на которой <link> теги можно найти. Если они не совпадают, это не сработает. Возможно, это была проблема ОП ...

Также следует учитывать, что в последней версии SimpleID указано, что вам нужно использовать https для сервера SimpleID.

Вы боретесь с недокументированной функцией. Вам не нужно вручную настраивать файл идентификации пользователя или обслуживать его из независимого источника.

Он уже (правильно) обслуживается установкой SimpleID под simpleid_documentroot/ пользователь /имя пользователя (например: https://exampledomain.org/simpleid/user/exampleuser)

Чтобы это работало, вам необходимо включить SIMPLEID_CLEAN_URL в config.inc и настроить Apache для использования механизма перезаписи (образец для обоих включен в примеры файлов конфигурации).

Использование этого URL-адреса для аутентификации решит проблему самым простым и надежным способом.