-
Не могу никак понять зачем в sreg есть required и optional поля? Я скажем поставил required=['email', nickname'], на яндексном openid сервере запретил отдачу и того и другого, ну пришёл пустой sreg, тут в принципе логично.. затем разрешил отдачу 'email', пришёл ответ с sreg.email.. И в чём реквайрмент заключается?
-
Это способ для консумера сказать, что эти поля ему нужны обязательно, и если их не передать, то вход не удастся. В этом случае сервер во время аутентификации может человека предупредить, что консумер не только запрашивает такие-то поля, но и откажется работать без таких-то. Возможно, это сэкономит человеку нервы, что ему не придётся логиниться заново только из-за того, что он не знал, что такие-то поля обязательные.
Другими словами, это то же самое, что звёздочки в формах рядом с обязательными полями. Тут разница только в том, что форму показывает сервер, а обязательность заказывает консумер.
Мы на Яндексе пока такого не делаем, потому что это не особенно сложившаяся практика. Но, думаю, прикрутим со временем.
-
Я примерно так и подумал что в теории оно должно это делать, но на практике реализация python-openid не пердоставляет метода для проверки пришли ли все required. Я просто делаю аппликацию и в моём проекте емэйл обязателен. Вот я и подумал что если засунуть в sreg.require=['email'] то будет способ проверить пришёл ли он и если да, не отсылать юзера на дополнителый шаг регистрации, а сразу создавать эккаунт с этим емэйлом, а так получается придётся пробежаться по всем полям, сравнить если там все есть поля которые обязательны в профиле и только тогда решить создавать или не создавать профиль на месте.
Вообще код python-openid просто ужасен.. Такое ощущение что его писал человек не знающий о существовнии pep8 и других стандартов программирования. Странно что в питоне нет альтернатив этому пакету. -
реализация python-openid не пердоставляет метода для проверки пришли ли все required
Ну ничто же не мешает проверить его вручную. Всё равно, реакцию на отсутствие полей само приложение определяет, поэтому не очень понятно, какая тут помощь от библиотеки нужна.
Вообще код python-openid просто ужасен
Да уж :-). С другой стороны, в него смотреть особенно не приходится после первых попыток заставить его работать, зато он корректен с точки зрения спецификации.
-
Кстати, мы на Яндексе таки прикрутили эту штуку.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

