Я пытаюсь реализовать гибридный протокол OpenID + OAuth в моем приложении для Google.
Я получаю токен запроса. Поэтому следующим шагом в качестве документа в федеративном входе является токен запроса на обмен для токена доступа.
Я пробовал использовать библиотеку Java OAuth, но я не получаю токен доступа. Я пытаюсь как 3-х, так и 2-х сторонние подходы не удаются.
Кто-нибудь может сделать гибридный протокол?
GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
oauthParameters.setOAuthConsumerKey(consumerKey);
oauthParameters.setOAuthConsumerSecret(consumerSecret);
calendarService = new CalendarService("marketplace-hello");
try {
calendarService.setOAuthCredentials(oauthParameters,
new OAuthHmacSha1Signer());
CalendarEventFeed results = calendarService.query(calendarFeedUrl,
CalendarFeed.class);
}
catch (OAuthException e)
{
throw new ServletException("Unable to initialize calendar service", e);
}
Это выбрасывает com.google.gdata.client.authn.oauth.OAuthException: oauth_token не существует.
oAuthParameters.setOAuthType (OAuthType.TWO_LEGGED_OAUTH); и xoauth_requestor_id attibute для feedURL, если я добавляю эти строки в код, я получаю исключение Invalid AuthSub Token, я не знаю, почему он говорит Invalid AuthSub.