Я не знаю ни одной интегрированной библиотеки, но я делаю это с помощью библиотеки OpenID ( openid4java ), библиотеки OAuth ( net.oauth Java-реализация [Редактировать: или Писец ]) и мои голые руки:
Мой OAuth consumer key
похож на www.example.com, поэтому я использую http://*.example.com как OpenID realm
.
Я добавляюследующие параметры (для перенаправления URL или формы) при перенаправлении пользователя в конечную точку Google OpenID:
openid.ns.ext2=http://specs.openid.net/extensions/oauth/1.0
openid.ext2.consumer=<my oauth consumer key>
openid.ext2.scope=<oauth scope to be authorized>
В ответ на простой ответ OpenID я получаю:
openid.ext2.request_token=<request-token>
Я обмениваю полученный запрос-окан с токеном доступа и секретом доступа, которые необходимы для выполнения вызовов, авторизованных OAuth.Это все!
Обратите внимание, что в обычном OAuth вместе с токеном запроса вы должны использовать секретный запрос и верификатор, но здесь они вам не нужны.
Для лучшего обзора вы можете прочитать Google OAuth , Google OpenID и OpenID OAuth-расширение .
Редактировать: Здесь (комментарий 8) - расширение OAuthдля openid4java, который делает выше для вас.