Google Oauth для установленных приложений и Oauth для веб-приложений - PullRequest
4 голосов
/ 03 апреля 2010

Так что у меня проблемы с пониманием чего-то ...

Если вы используете Oauth для веб-приложений, вы регистрируете свой сайт с помощью URL-адреса обратного вызова и получаете уникальный секретный ключ потребителя. Но как только вы получили токен Oauth для веб-приложений, вам не нужно генерировать вызовы Oauth на сервер Google из зарегистрированного домена. Я регулярно использую свой ключ и токен из сценариев, запущенных через сервер apache на localhost на моем ноутбуке, и Google никогда не говорит: «Вы не отправляете этот запрос из зарегистрированного домена». Он просто отправляет мне данные.

Теперь, насколько я понимаю, если вы используете Oauth для установленных приложений, вы используете «анонимный» вместо секретного ключа, который вы получили от Google.

Я думал о том, чтобы просто использовать метод аутентификации OAuth for Web Apps, а затем передать этот токен в установленное приложение, в которое встроен мой секретный код. Беспокойство в том, что код может быть обнаружен плохими людьми. Но что безопаснее ... заставить их работать для секретного кода или разрешить им по умолчанию анонимный доступ?

Что на самом деле идет плохо, если «секрет» обнаруживается, когда альтернатива использует «анонимный» в качестве секрета?

Ответы [ 2 ]

4 голосов
/ 04 апреля 2010

Основным отличием OAuth для веб-приложений от OAuth для установленных приложений (например, «анонимный» / «анонимный» в качестве ключа / секрета потребителя) является страница подтверждения.

Для установленных приложений Google не может проверить подлинность приложение, так что пользователю будет показано желтое предупреждение.

Для веб-приложений существует фактический URL-адрес (приложения), который может быть подтвержден. Следовательно, пользователю не предоставляется никаких уродливых предупреждений.

0 голосов
/ 03 апреля 2010

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

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

...