Gmail IMAP OAuth для настольных клиентов - PullRequest
3 голосов
/ 17 апреля 2010

Недавно Google объявил, что они поддерживают OAUth для Gmail IMAP / SMTP. Я просмотрел их несколько документов, но все еще не понимаю, поддерживают ли они OAuth для установленных приложений.

1. В этой документации говорится:

Примечание: хотя протокол OAuth поддерживает рабочий стол / установлен вариант использования приложения, только Google поддерживает OAuth для веб-приложений.

Но у них также есть документ для OAuth для установленных приложений .

2. Когда я читаю спецификацию OAuth , указанную ими, она говорит (в разделе 11.7):

Во многих приложениях Потребитель приложение будет под контролем потенциально ненадежных сторон. За Например, если Потребитель свободно доступное настольное приложение, Злоумышленник может загрузить скопировать для анализа. В таких случаях, Злоумышленники смогут восстановить Consumer Secret используется для аутентификации Потребитель к поставщику услуг.

Также я думаю, что отказ от ответственности в пункте 1 выше касается API данных Google , и, конечно, IMAP / SMTP не является их частью.

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

  1. У меня есть небольшое веб-приложение, скажем, example.com для моего приложения. Это веб-приложение общается с Google и получает токен доступа.

  2. Установленное приложение обращается к example.com только для получения токена доступа.

  3. Установленное приложение обращается к Google с токеном доступа.

Я сейчас в замешательстве. Это единственный способ? Кроме того, если я выполняю OAuth из настольного приложения, мы должны отправить ключ Consumer Secret вместе с приложением. Тогда мы не сможем сохранить секретность ключа потребителя.

1 Ответ

2 голосов
/ 18 апреля 2010

Да, Oauth поддерживается для установленных приложений; см. Gmail IMAP и SMTP с использованием документации OAuth .

  1. Документация просто устарела (2008)
  2. Это имеет смысл, но только для приложения, которое не хранит токен доступа безопасным способом.

Ваша настройка хороша, хотя я не думаю, что наличие веб-приложения, которое общается с Google, обязательно; например, ваши пользователи могут просто скопировать и вставить «маркер запроса» в ваше клиентское приложение для настольного компьютера.

...