【发布时间】:2017-10-27 22:17:27
【问题描述】:
我正在使用 JWT 来管理我的应用程序的服务器身份验证。我在服务器中管理它。在我的 Angular 应用程序中,我使用 angular-jwt 来管理 jwt。如果过期如何调用刷新令牌API。我正在使用 volley 进行 API 调用。当令牌过期时,服务器会响应 401 错误代码。那个时候需要调用一个刷新令牌api。刷新调用后,我需要在没有任何用户输入的情况下再次调用之前的 API 调用。
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(method, request_url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
if (response.getInt("status") == 1) {
callback.onSuccessResponse(response.get("data"));
} else {
callback.onSuccessResponse(new JSONArray());
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
NetworkResponse networkResponse = error.networkResponse;
if (networkResponse != null && networkResponse.statusCode == 401) {
}
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
String token = AppPreferencesHelper.getAccessToken(context);
headers.put("Authorization", "Bearer " + token);
return headers;
}
};
Volley.newRequestQueue(context).add(jsonObjectRequest);
【问题讨论】:
标签: android authentication android-volley jwt