Я использую django-openid-provider (https://bitbucket.org/romke/django_openid_provider/), и перед его развертыванием на реальном сервере необходимо протестировать его функции. Я попытался построить запрос POST по документации OpenID 2.0 и отправить его на тестовый сервер django, чтобы получить токен openid.Тестирование django_openid_provider
Мой пост выглядит так:
http://192.168.232.151:8008/openid/
ТЕЛО:
openid.ns:http://specs.openid.net/auth/2.0
openid.mode:associate
openid.assoc_type:HMAC-SHA256
openid.session_type:DH-SHA256
Также я пытался представить его с помощью открытого ключа (например, openid.dh_modulus, openid.dh_gen, openid.dh_consumer_public) для алгоритма Диффи-Хеллмана и обнюхивания трафика аутентификации OpenID для получения дополнительных ключей в запросе, но все же получили 500 ошибок внутреннего сервера с
Exception Type: ProtocolError
Exception Value:
No mode value in message <openid.message.Message {('http://openid.net/signon/1.0', u'ns:http://specs.openid.net/auth/2.0\nopenid.mode:associate\nopenid.assoc_type:HMAC-SHA256\nopenid.session_type:DH-SHA256'): u'DH-SHA256EABv%252BfEoZlgh%252BeU71rlInEppkiuX\nopenid.dh_modulus:ANz5OguIOXLsDhmYmsWizjEOHTdxfo2Vcbt2I3MYZuYe91ouJ4mLBX%2BYkcLiemOcPym2CBRYHNOyyjmG0mg3BVd9RcLn5S3IHHoXGHblzqdLFEi%2F368Ygo79JRnxTkXjgmY0rxlJ5bU1zIKaSDuKdiI%2BXUkKJX8Fvf8W8vsixYOr\nopenid.dh_gen:Ag%3D%3D\nopenid.dh_consumer_public:AJs12O5ypo2N%2FL0RJiiOgu9llg2dFsnjthyH49dx6FXz52iDXNkS7gquOm6KEr%2BUfTmktyVMA5DrZwJ%2BrX1jk7sKmXJMmi9%2B7N5fa0wvz%2Fi6nrvg8Oqw31kh%2BtbD9ansUeATSlCfUoRCqeUHEABv%2BfEoZlgh%2BeU71rlInEppkiuX'}>
Отладка Джанго-модуль OpenID я обнаружил, что строительство объекта сообщение вызывает эту ошибку, но не может найти значения параметров, чтобы удовлетворить сервер
-провайдер OpenID Пожалуйста, покажите мне, что я делаю неправильно? Я выбираю жесткий путь, могу ли я использовать что-то, что эмулирует потребительский сайт с openid-клиентом локально. Или, может быть, у кого-то есть правильный пример такого запроса POST?