Что означает эта ошибка Openid: Ошибка при попытке использовать сохраненную информацию обнаружения

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

[Fri Jan 29 13:29:20 2010] [error] Generated checkid_setup request to https://www.google.com/accounts/o8/ud with assocication XXXXXXXXXXXXXX  
[Fri Jan 29 13:29:26 2010] [error] Error attempting to use stored discovery information: <openid.consumer.consumer.TypeURIMismatch: Required type http://specs.openid.net/auth/2.0/signon not found in ['http://specs.openid.net/auth/2.0/server', 'http://openid.net/srv/ax/1.0', 'http://specs.openid.net/extensions/ui/1.0/mode/popup', 'http://specs.openid.net/extensions/ui/1.0/icon', 'http://specs.openid.net/extensions/pape/1.0'] for endpoint <openid.consumer.discover.OpenIDServiceEndpoint server_url='https://www.google.com/accounts/o8/ud' claimed_id=None local_id=None canonicalID=None used_yadis=True >>  
[Fri Jan 29 13:29:26 2010] [error] Attempting discovery to verify endpoint  
[Fri Jan 29 13:29:26 2010] [error] Performing discovery on https://www.google.com/accounts/o8/id?id=PrHw_N5_3j1HM  
[Fri Jan 29 13:29:26 2010] [error] Received id_res response from https://www.google.com/accounts/o8/ud using association XXXXXXXXXXXXX  

Похоже, что Python не может использовать информацию, полученную из Google. Это ошибка из-за данных, поступающих из Google, или это проблема с openid?

2 ответа

Решение

Хм. Это на самом деле не фатальная ошибка; Я получаю то же самое, когда использую пример потребителя python-openid против идентификатора OP Google (идентификатор /account /o8/id, который генерирует смешно направленные идентификаторы), но он успешно входит в систему.

Это, вероятно, вызывает некоторый спам в журнале, если у вас есть кнопка "войти в систему с помощью Google", и библиотека может быть умной, чтобы не пытаться использовать сохраненную информацию обнаружения, когда она была для идентификатора OP, но если вы не можете войти В общем, что-то еще ваша проблема.

Это происходит, когда указанный URL-адрес является URL-адресом сервера, а не заявленным идентификатором. Это подлинная ошибка для пути, который его генерирует, потому что URL не может использоваться в качестве идентификатора, но он перехватывается внутри и используется для запроса истинного идентификатора с сервера, поэтому можно игнорировать сообщения журнала. Тем не менее, сообщение об ошибке было отправлено в проект python-openid на GitHub с предложенным исправлением.

Другие вопросы по тегам