java 令牌访问_java-Exact Online上的令牌请求未返回访问令牌

我一直在尝试使用OAuth 2.0连接到Exact Online.我们倾向于专注于Java应用程序,可惜Exact没有Java的文档/示例/支持.

我能够执行身份验证请求,但是对于令牌请求,我遇到了一些麻烦.我的代码:

OAuthAuthzResponse oar = OAuthAuthzResponse.oauthCodeAuthzResponse(request);

code = oar.getCode();

OAuthClientRequest oAuthRequest;

try {

oAuthRequest = OAuthClientRequest

.tokenLocation("https://start.exactonline.be/api/oauth2/token")

.setGrantType(GrantType.AUTHORIZATION_CODE)

.setClientId(CLIENT_ID)

.setClientSecret(CLIENT_SECRET)

.setRedirectURI(REDIRECT_URI)

.setCode(code)

.buildQueryMessage();

OAuthClient client = new OAuthClient(new URLConnectionClient());

OAuthJSONAccessTokenResponse oauthResponse = client.accessToken(oAuthRequest, OAuth.HttpMethod.POST);

}

我环顾四周,但找到的所有答案都不能解决问题.

>尝试使用其他令牌响应类型.

>尝试使用.buildBodyMessage而不是.buildQueryMessage

我总是得到以下问题之一:

Token request failed: unsupported_response_type, Invalid response! Response body is not application/json encoded

Token request failed: invalid_request, Missing parameters: access_token

我希望任何人都具有处理精确在线问题的经验,希望能对您有所帮助.

解决方法:

不确定Java库的工作方式,我仅在C#上使用了Exact Online.

问题似乎是该库尝试从JSON响应中提取access_token,但响应中没有JSON.您可能尚未授权应用程序(用户操作),或者使用了错误的返回URL值(精确检查服务器端).如果可能,您可能希望查看实际输出(我猜是HTML).真正的例外应该在那里.

标签:oauth-2-0,oauth,oltu,java,exact-online

来源: https://codeday.me/bug/20191119/2035938.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值