我正嘗試使用Apache Amber接收用於條帶連接的身份驗證令牌。還有就是如何交換的OAuth代碼的訪問令牌here一個例子:Apache Amber:如何使用承載頭交換訪問令牌的OAuth代碼?
然而,條紋需要額外的「授權:承載」頭:
curl -X POST https://connect.stripe.com/oauth/token \
-H "Authorization: Bearer xxxxxxxxxxxxxx" \
-d code=AUTHORIZATION_CODE \
-d grant_type=authorization_code
我試過如下:
OAuthAuthzResponse oar = OAuthAuthzResponse.oauthCodeAuthzResponse(request);
String error = oar.getParam("error");
String errorDescription = oar.getParam("error_description");
String code = oar.getCode();
if (null != error && !error.isEmpty()){
System.err.println ("Authentication failed: " + errorDescription);
System.exit(1);
}
OAuthClientRequest exchangeRequest = OAuthClientRequest
.tokenLocation("https://connect.stripe.com/oauth/token")
.setGrantType(GrantType.AUTHORIZATION_CODE)
.setClientId("my-client-id")
.setCode(code)
.buildBodyMessage();
Map<String,String> headers =new HashMap<String, String>();
headers.put("Authorization", "Bearer xxxxxxxxxxxxxx");
exchangeRequest.setHeaders(headers);
//create OAuth client that uses custom http client under the hood
OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient());
GitHubTokenResponse oAuthResponse = oAuthClient.accessToken(exchangeRequest, GitHubTokenResponse.class);
String accessToken = oAuthResponse.getAccessToken();
但它崩潰:
服務器返回的HTTP響應代碼:401爲URL: https://connect.stripe.com/oauth/token
關於如何添加承載頭的任何想法?謝謝!
請問您是否可以更正該URL,因爲它無法訪問? – Prateek