Android 尝试使用node.js调用AWS上托管的rest api时,禁止获取响应403
我试图在Android中使用改型(改型:2.3.0)调用restful API,API调用可以在Postman和iOS中工作,但在Android中不起作用。API工作正常,不像登录和注册API那样使用JWT授权头(Bearer auth_token),但当我尝试使用授权头时,它返回403禁止。我在登录和注册响应时也会收到cookies标题 这是我的密码Android 尝试使用node.js调用AWS上托管的rest api时,禁止获取响应403,android,web-services,amazon-web-services,retrofit,retrofit2,Android,Web Services,Amazon Web Services,Retrofit,Retrofit2,我试图在Android中使用改型(改型:2.3.0)调用restful API,API调用可以在Postman和iOS中工作,但在Android中不起作用。API工作正常,不像登录和注册API那样使用JWT授权头(Bearer auth_token),但当我尝试使用授权头时,它返回403禁止。我在登录和注册响应时也会收到cookies标题 这是我的密码 ApiInterface apiService = ApiClient.getClient().create(ApiInterface.
ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
final Call<GetUserResponse> response = apiService.getUserInformation(ConstantUtils.TOKEN_PREFIX + sharedPreferences.getString(ConstantUtils.PREF_TOKEN, ""));
response.enqueue(new Callback<GetUserResponse>() {
@Override
public void onResponse(Call<GetUserResponse> call, retrofit2.Response<GetUserResponse> rawResponse) {
try {
if (rawResponse.code() == 200 && rawResponse.body() != null) {
saveUserModelInSharedPreferences(rawResponse.body());
stopSelf();
} else if (rawResponse.code() == 401) {
// we will have to call login api here
CallLoginApiIfFails callLoginApiIfFails = new CallLoginApiIfFails(GetUserDataService.this, GET_USER_DATA);
callLoginApiIfFails.OnApiFailDueToSessionListener(GetUserDataService.this);
}
} catch (Exception e) {
e.printStackTrace();
stopSelf();
}
}
@Override
public void onFailure(Call<GetUserResponse> call, Throwable throwable) {
stopSelf();
}
});
错误日志为
Response{protocol=http/1.1,
code=403, message=Forbidden,
url=http://pointters-api-dev3.us-east-1.elasticbeanstalk.com:9000/user/setting}
它是否返回登录失败?你有什么可以提供的日志吗?我们可以看看你的
改装实例的配置吗?@BryceH,我已经更新了我的问题。请看。谢谢@hsl,我已经更新了我的问题。请看。谢谢您确定您确实在发送令牌(它不是空的)吗?
public static Retrofit getClient() {
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(ConstantUtils.BASE_URL)
.client(okClient())
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
}
return retrofit;
}
Response{protocol=http/1.1,
code=403, message=Forbidden,
url=http://pointters-api-dev3.us-east-1.elasticbeanstalk.com:9000/user/setting}