OpenId с настольным приложением?

Мы используем API от провайдера; в своей следующей версии они предоставят сервер OpenId, но в основном пользователи используют их настольные приложения. Другой веб-сайт, который мы создаем, будет открыт из этого приложения, и мы предположительно подключимся к openid для доступа к ресурсам, хранящимся в этом провайдере.

Тем не менее я не понимаю, как это будет работать, если пользователь уже аутентифицирован на рабочем столе, придется ли им аутентифицироваться в другой раз? Что произойдет, если они закроют свой браузер и снова откроют его, придется ли им делать это снова?


person user310291    schedule 17.03.2010    source источник


Ответы (2)


OpenID и настольные приложения полностью несовместимы. Вы не можете защитить настольное приложение с помощью OpenID.

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

person Andrew Arnott    schedule 19.03.2010
comment
В каком смысле это небезопасно? - person Anon21; 16.01.2012
comment
Алекс, это как запереть твою машину и спросить, как ты не обезопасил свой дом. Вы должны спросить себя, что вы на самом деле защищаете. Настольное приложение полностью уязвимо (как один из примеров) для локального пользователя, имитирующего обмен данными с поставщиком OpenID, что позволит ему / ей маскироваться под любого другого пользователя. Кроме того, OpenID не позволяет настольному приложению подтверждать личность локального пользователя для любого удаленного сетевого ресурса, поэтому ни локальные, ни сетевые ресурсы не могут быть защищены OpenID для настольных приложений. - person Andrew Arnott; 17.01.2012
comment
@ Andrew, Google openID возвращает уникальный guid вместо имени учетной записи в реле openID. Поскольку нет никакого способа угадать, что это за руководство, было бы невозможно выдать себя за пользователя, не так ли? Если бы настольное приложение ограничивало себя приемом только тех поставщиков openID, которые возвращают guid вместо учетной записи openid, было бы приложение безопасным? Я хочу использовать guid в качестве секретного ключа для шифрования локальных данных. - person Anon21; 22.01.2012
comment
Google не использует GUID. Он использует то, что люди с криптоидентификацией называют псевдонимным идентификатором. И хотя невозможно предсказать, каким будет идентификатор для любого заданного RP, это не секрет. А использование другого несекретного приложения (Google) в качестве криптографического ключа звучит так, как будто вы настраиваете своих пользователей на низкую безопасность. Windows (и я надеюсь, другие ОС) уже имеют встроенные, легкодоступные средства для шифрования данных для каждого пользователя, так что только этот пользователь может их прочитать. Вы об этом думали? - person Andrew Arnott; 29.01.2012
comment
Для людей, читающих этот ответ: обязательно помните разницу между аутентификацией и авторизацией. OAuth обеспечивает только авторизацию, но не аутентификацию. Не используйте OAuth для аутентификации настольного приложения. - person Gudradain; 15.08.2014

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

Но что касается аутентификации-с-настольным-клиентом-а-затем-открытием-браузером, вам придется спросить у провайдера более подробную информацию. Я могу представить, как это сделать, что приведет к любому исходу.

person keturn    schedule 18.03.2010