OpenID - неловкий выбор.Похоже, что у пользователя уже есть данные, связанные с его учетной записью, что означает, что пользователь должен будет войти на сервер в определенный момент времени, чтобы настроить эти данные, а затем войти в приложение с теми же учетными данными, чтобы получить доступ к этим данным.,Проблема заключается в надежной проверке того, что клиентское приложение действительно аутентифицировало данного пользователя.Предполагая, что клиентское приложение (каким-то образом) имеет OpenID пользователя, недостаточно, потому что сервер не может неявно доверять тому, что ему говорит клиентское приложение.
Не говоря уже о моей голове, я бы сказал, что можетЧтобы сделать OpenID следующим образом:
Сначала настройте аутентификацию OpenID на сервере.Затем, когда клиентское приложение должно пройти аутентификацию, оно должно использовать элемент управления WebBrowser, чтобы указать URL-адрес сервера, который, в свою очередь, позволяет пользователю проходить аутентификацию с помощью своего поставщика OpenID и направляет браузер обратно на сервер с информацией аутентификации.На этом этапе клиентское приложение не знает о состоянии аутентификации пользователя, но сервер знает, кто они.Теперь сервер может сгенерировать одноразовый ключ авторизации для использования клиентом.Он может перенаправить на специальный URL-адрес с этим ключом, после чего клиент обнаруживает указанный URL-адрес, извлекает ключ, скрывает элемент управления WebBrowser и использует этот ключ для связи с сервером.Я считаю, что это был бы безопасный способ сделать такую аутентификацию, но, как я уже сказал, это просто не в моей голове.