Могут ли не-веб-приложения использовать OpenID? - PullRequest
6 голосов
/ 08 января 2011

Как я могу превратить свое настольное приложение в проверяющую сторону OpenID?

Ответы [ 4 ]

1 голос
/ 12 января 2011

Не делай этого .

Даже попытка сделать это показывает фундаментальное отсутствие понимания в модели безопасности, которую предлагает OpenID. Вы должны спросить себя, какой пароль вы бы использовали для своего настольного приложения. Это защита активов на самой локальной машине? Если это так, OpenID бесполезен, потому что было бы просто подделать сеть так, чтобы я мог взломать свой десктоп-приложение без владения OpenID. Вы широко открыты для подмены пользователя. Вы пытаетесь защитить сетевые активы? Снова возникает сбой OpenID, так как он не разрешает вашему настольному приложению доступ к этим сетевым ресурсам, что предполагает, что за OpenID идет какая-то другая аутентификация, поэтому вы снова не добавляете никакого значения.

OAuth - это протокол, который позволяет вашему настольному приложению получать доступ и защищать сетевые ресурсы. Если вы защищаете локальные ресурсы на настольном компьютере, локальное шифрование - единственный способ.

1 голос
/ 08 января 2011

Посмотрите на этот вопрос , мне кажется, что OAuth может сделать это для вас.

0 голосов
/ 08 января 2011

Поскольку в OpenID указан протокол, он будет работать постоянно (при условии, что провайдеры соответствуют) или не работает вообще.Кроме того, поскольку протокол OpenID (по крайней мере, биты аутентификации, см. в спецификации ) состоит из простых HTTP-запросов, вы можете реализовать протокол в настольном приложении, предполагая, что вы знаете, как делать такие запросы.

Хотя это обычно считается плохой идеей, поскольку существуют более совершенные технологии (OAuth), и это нарушает работу пользователя (в отличие от OpenID в браузере - см. OpenID для настольных приложений: как? Когда? ).

Дополнительная информация: OpenID для клиентов настольных компьютеров

0 голосов
/ 08 января 2011

Мне кажется, что вы должны предоставить небольшое окно веб-браузера для завершения аутентификации. Взаимодействие не будет проходить через ваш код.

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

OAuth - это правильная технология для использования в настольном приложении, но она не использует существующую экосистему паролей, которая есть в OpenID, что не было частью вопроса ОП.

...