Я использую библиотеку 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, найденный здесь: http://test -id.org / OP / Sreg.aspx , и когда я переключаю их, он работает, но я не могу найти свой $id_url
где-нибудь в журналах.
Полагаю, мне нужно было сказать потребителю что-то раньше в процессе об идентификаторе, отличном от идентификатора, указанного конечным пользователем, но до сих пор я не нашел правильного способа попробовать. Я знаю, что это возможно, потому что так работает OpenID в Yahoo.
Любые идеи или предложения приветствуются. Спасибо!