我需要调用受OAuth2资源所有者密码凭据保护的服务。我在oauth.net/code上尝试了所有库,但没有成功。所有这些似乎都没有提供这种身份验证,但似乎很适合使用3条腿身份验证。
我的用户应使用用户名和密码登录,但我不想存储用户名和密码。我想获得访问令牌并不时刷新此令牌。
我的网络通讯目前基于spring 4 android和你可以在那里找到的resttemplate。
任何建议,我可以使用哪个库?我认为这是一个常见的问题。
答案 0 :(得分:2)
我也找不到任何东西,所以我自己组建了一个图书馆,并将其发布给公众。
<强>用法:强>
import org.sdf.danielsz.OAuth2Client;
import org.sdf.danielsz.Token;
OAuth2Client client = new OAuth2Client(username, password, app-id, app-secret, site);
Token token = client.getAccessToken();
token.getResource(client, token, "/path/to/resource?name=value");
使用此授权类型,客户端应用程序不需要存储用户的用户名/密码。一次询问这些凭证并交换访问令牌。然后,可以使用此令牌访问受保护的资源。
检查令牌是否已过期:
token.isExpired();
手动刷新令牌:
Token newToken = token.refresh(client);
可以在github上的README中找到更复杂的示例。
答案 1 :(得分:0)
查看此网址:https://temboo.com/library/Library/Fitbit/OAuth/和https://temboo.com/library/Library/Fitbit/OAuth/InitializeOAuth/
要运行java代码生成OAuth url,您需要temboo.jar文件,您可以通过单击右侧链接上的java图标下载该文件。
欢呼声。