Как использовать OAuth в моем приложении GWT?

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

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

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

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


person JochenJung    schedule 19.10.2010    source источник


Ответы (3)


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

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

Он имеет хорошую документацию и довольно прост в использовании.

person Simeon    schedule 25.10.2010
comment
Мне понадобится аутентификация на стороне сервера, потому что я не хочу, чтобы пользователь мог изменять список пользователей для своего домена. Но я не уверен, что Scribe — это то, что я ищу. Чтобы использовать его, вам понадобятся API_KEY и API_SECRET. Однако Google не предоставляет такие возможности для API профилей приложений. Насколько я понимаю, это потому, что писец предназначен для двухсторонней аутентификации, а я пытаюсь добиться трехсторонней аутентификации, то есть мне нравится, чтобы пользователь аутентифицировался с помощью Google, а не мой сервер с Google, верно? - person JochenJung; 25.10.2010
comment
Да, к сожалению, вы правы (я думаю), Scribe помогает только для двусторонней аутентификации. Однако я посмотрю на это более тщательно (хотя вы, вероятно, уже это сделали), и я отредактирую свой ответ, если что-нибудь найду. - person Simeon; 26.10.2010
comment
Найден API_KEY и _SECRET в настройках Google Apps. Хотя я все еще не уверен, будет ли это работать, я думаю, что Scribe - лучшая доступная библиотека. Спасибо. - person JochenJung; 28.10.2010

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

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

Удачи вам.

person Mia Clarke    schedule 22.10.2010

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

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

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

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

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

person Kieveli    schedule 08.12.2010