Java 使用Spring Social通过OAuth2令牌检索GitHub用户ID

Java 使用Spring Social通过OAuth2令牌检索GitHub用户ID,java,spring,oauth-2.0,github-api,Java,Spring,Oauth 2.0,Github Api,假设我已经完成了OAuth2登录并拥有一个身份验证令牌 我正在尝试使用该令牌获取用户名。这就是我正在做的: final GitHub gitHub = connectionFactory.createConnection(new AccessGrant(authToken)).getApi(); final String userId = gitHub.userOperations().getProfileId(); 这是我在gitHub.userOperations().getProfile

假设我已经完成了OAuth2登录并拥有一个身份验证令牌

我正在尝试使用该令牌获取用户名。这就是我正在做的:

final GitHub gitHub = connectionFactory.createConnection(new AccessGrant(authToken)).getApi();
final String userId = gitHub.userOperations().getProfileId();
这是我在gitHub.userOperations().getProfileId()上得到的:


我在请求“新鲜”令牌后不超过一分钟(实际上大约10秒)就发出了
curl
请求。

您可以使用curl手动进行API调用来验证令牌是否有效吗?例如:$curl-v@IvanZuzak谢谢你的帮助。我更新了这个问题来回答你的评论。嗯,奇怪。您是否使用授权API()或设置()创建令牌?您是否使用2FA OTP令牌而不是OAuth令牌?@IvanZuzak使用授权API。我使用SpringSocial为请求
final OAuth2Operations=connectionFactory.getOAuthoOperations()构建URL
操作.buildAuthorizationURL(GrantType.IMPLICIT\u GRANT,params)
params
var包含
user
public\u repo
作用域。对不起,我对Spring Social基本一无所知。:)您是否看到您在此处的设置中创建的令牌:?您是否可以尝试手动创建个人令牌(通过该设置页面)并使用该令牌测试您的程序(以查看您是否仍然获得401)?还有,让我们在support@github.com这样就不会变成一个支持线程:)
org.springframework.web.client.HttpClientErrorException: 401 Unauthorized
org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:88)
org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:537)
org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:493)
org.springframework.web.client.RestTemplate.execute(RestTemplate.java:452)
org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:222)
org.springframework.social.github.api.impl.UserTemplate.getUserProfile(UserTemplate.java:50)
org.springframework.social.github.connect.GitHubAdapter.setConnectionValues(GitHubAdapter.java:43)
org.springframework.social.github.connect.GitHubAdapter.setConnectionValues(GitHubAdapter.java:30)
org.springframework.social.connect.support.AbstractConnection.setValues(AbstractConnection.java:172)
org.springframework.social.connect.support.AbstractConnection.initKey(AbstractConnection.java:135)
org.springframework.social.connect.support.OAuth2Connection.<init>(OAuth2Connection.java:73)
org.springframework.social.connect.support.OAuth2ConnectionFactory.createConnection(OAuth2ConnectionFactory.java:91)
net.librarian.app.service.impl.OAuth2Service.getAuthenticatedUserName(OAuth2Service.java:36)
HTTP/1.1 401 Unauthorized
Server: GitHub.com
Date: Wed, 25 Dec 2013 13:41:42 GMT
Content-Type: application/json; charset=utf-8
Status: 401 Unauthorized
X-GitHub-Media-Type: github.beta
X-Content-Type-Options: nosniff
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 1387982502
Content-Length: 92
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-        RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interva
Access-Control-Allow-Origin: *
X-GitHub-Request-Id: BCFEC363:32CA:5A1392E:52BAE095

{
  "message": "Bad credentials",
  "documentation_url": "http://developer.github.com/v3"
}