Я использую библиотеку JanRain и реализую код, очень похожий на пример их сервера (по сути, создавая свой собственный провайдер openid). У меня он работает, но когда я пытаюсь вернуть идентификатор, отличный от указанного потребителю, я получаю следующую ошибку:
Запрос был для http://example.com/, невозможно ответить с идентификацией http://example.com/openid/33
В этом случае уникальный идентификатор / URL - это http://example.com/openid/33
, а для потребителя - http://example.com
.
Я использую что-то вроде этого:
$request = $server->decodeRequest();
$request->answer( true, null, $id_url, $request->identity );
Я пробовал переключаться между $request->identity
и $id_url
. Я получаю ошибку только в показанном выше состоянии, а другое состояние работает, но, похоже, не возвращает потребителю то, что нужно. Я использую тест OP Simple Registration, который можно найти здесь: http://test-id.org/OP/Sreg.aspx, и когда я их переключаю, он работает, но я нигде не могу найти свой $id_url
в журналах.
Я предполагаю, что мне нужно сообщить потребителю что-то раньше в процессе об идентификаторе, отличном от идентификатора, указанного конечным пользователем, но пока я не нашел правильного решения, чтобы попробовать. Я знаю, что это возможно, потому что так работает OpenID Yahoo.
Любые идеи и предложения приветствуются. Спасибо!