如何在android中为api发送身份验证令牌

时间:2014-01-24 06:29:29

标签: android authentication

我希望能够在每个请求中添加身份验证令牌,并以一般方式执行。

如何在Android应用中实现这一目标。

1 个答案:

答案 0 :(得分:0)

如果您使用Spring for android或只是

,请编写ClientHttpRequestInterceptor

http://developer.android.com/reference/org/apache/http/HttpRequestInterceptor.html

然后使用通用单例类将拦截器添加到您的请求中以处理请求。

            ArrayList<ClientHttpRequestInterceptor> interceptor = new ArrayList<ClientHttpRequestInterceptor>();
        interceptor.add(new LoginInterceptor(getApplicationContext()));
        restTemplate.setInterceptors(interceptor);

此拦截器应添加身份验证令牌(如果可用):

    @Override
public ClientHttpResponse intercept(HttpRequest request, byte[] body,
        ClientHttpRequestExecution execution) throws IOException {

    String appAuthToken = settings.getString(
            AUTH_TOKEN.toString(), "");
    // response

    request.getHeaders().add("auth-token", appAuthToken);
    return execution.execute(request, body);
}

就服务器方面而言,你可以检查一下。