2010-10-19 2 views
13

Как использовать OAuth в приложении Java GWT? В частности, я хочу, чтобы получить список пользователей в моем домене Google Aps, используя этот API:Как использовать OAuth в моем приложении GWT?

http://code.google.com/googleapps/domain/profiles/developers_guide_protocol.html

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

Я был бы рад, если бы кто-то мог поделиться каким-то кодом или указать мне нужные документы.

ответ

4

Что вы имеете в виду в своем приложении GWT? Вы имеете в виду только клиентскую сторону?

Потому что на сервере вы можете легко использовать библиотеку OAuth Scribe.

У этого есть хорошая документация и довольно проста в использовании.

+0

Я потребуется стороне сервера аутентификации, потому что я не хочу, чтобы пользователь мог изменить список пользователей для своего домена , Но я не уверен, если Scribe - это то, что я ищу. Чтобы использовать его, вы должны использовать API_KEY и API_SECRET. Однако Google не предоставляет такие API профилей приложений. Насколько я понимаю, это потому, что написанный для 2-legged-auth, и то, что я пытаюсь достичь, является 3-legged-auth, то есть, мне нравится, чтобы пользователь аутентифицировался с помощью Google, а не с моим сервером с Google. – JochenJung

+0

Да, к сожалению, вы правы (я думаю), Scribe помогает только для 2-х ног. Тем не менее, я буду более внимательно смотреть на него (хотя вы, наверное, уже это сделали), и я отредактирую свой ответ, если найду что-нибудь. – Simeon

+0

Найденные API_KEY и _SECRET в настройках Google Apps. Хотя я все еще не уверен, будет ли это работать, я думаю, что Scribe - лучшая доступная библиотека. Спасибо. – JochenJung

7

This tutorial автор Matt Raible - это тот самый лучший, который я видел до сих пор на OAuth и gwt. Он также имеет очень хорошую картину, изображающую поток аутентификации, который я всегда нахожу в помощи. Однако, как говорит сам Мэтт, решение не на 100% надежное, но оно все равно может помочь вам в этом.

Имея это в виду, было бы лучше просто пойти с чистой реализацией javascript. Вы найдете одну такую ​​реализацию right here. This SO thread может пригодиться вам, если вы выбрали этот путь.

Удачи вам.

2

Для интеграции OAuth и GWT, вы должны начать с Scribe, который обрабатывает реализацию OAuth:

https://github.com/fernandezpablo85/scribe-java

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

Нет смысла повторять реализацию OAuth, когда писарь уже делает это за вас - вам просто нужно. Я бы, вероятно, стремиться использовать Popup GWT для выполнения аутентификации:

http://gwt.google.com/samples/Showcase/Showcase.html#!CwBasicPopup

Смежные вопросы