我試圖通過Spring Social使用Google憑據實現Google oAuth2 API以登錄到我的webapp。Google oAuth2 API提供401未授權
查詢到谷歌是如下
googleConnectionFactory = new GoogleConnectionFactory(myKey, mySecret);
oauthOperations = googleConnectionFactory.getOAuthOperations();
final String redirectUri = "http://localhost/googleCallback";
final OAuth2Parameters params = new OAuth2Parameters();
params.setRedirectUri(redirectUri);
params.setScope("https://www.googleapis.com/auth/userinfo.profile");
final String authorizeUrl = oauthOperations.buildAuthorizeUrl(
GrantType.AUTHORIZATION_CODE, params);
response.sendRedirect(authorizeUrl);
一旦要求,我被帶到了谷歌登錄頁面。該網址顯示scope=https://www.googleapis.com/auth/userinfo.profile
登錄後,用戶被重定向回我的web應用程序和下面的方法被稱爲
final String callbackUrl = "http://localhost/googleCallback";
final AccessGrant accessGrant = oauthOperations.exchangeForAccess(code,
callbackUrl, null);
// THIS CRASHES WITH 401
final Connection<Google> connection = googleConnectionFactory
.createConnection(accessGrant);
// THIS CRASHES TOO WITH 401
new GoogleTemplate(accessGrant.getAccessToken()).userOperations().getUserProfile();
我缺少的東西?
**是由Google填充的** accessGrant.accessToken **? –
是的,它被填充。 –