繁体   English   中英

RESTful API客户端如何为将来的请求保存oAuth令牌?

[英]How can a RESTful API client save an oAuth token for future requests?

RESTful API服务需要随每个请求一起发送oAuth令牌。 因此,基于Java Apache的客户端必须首先请求令牌,例如...

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;

String loginUrl = "https://jerseyrules.com/api/login1?name=joe&cleartext=schmoe";
HttpMethod method = new GetMethod(loginUrl);
String responseCode = httpClient.executeMethod(method);
String token = method.getResponseBodyAsString();

客户端现在只能调用该API的实际服务方法,并且它必须将oAuth令牌作为每个服务的授权请求标头传递。

假设将以批处理方式多次调用此客户端代码,例如,将电子邮件发送给收件人列表。 要发送实际的电子邮件,需要调用RESTful API服务。

客户端是否必须为每次发送的电子邮件再次请求oAuth令牌? 客户端是否可以通过一种方法获得一次oAuth令牌并将其保存在以后的调用中? 保存该oAuth令牌的最佳位置是什么? 假设令牌将在3600秒后过期。

可以使用httpClient的cookie来存储令牌。

httpClient.getState().getCookies()

试试这个东西:

method.getParams().setCookiePolicy(CookiePolicy.RFC_2109);

http://hc.apache.org/httpclient-3.x/cookies.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM