【发布时间】:2016-10-06 22:00:13
【问题描述】:
我有以下代码:
Class<OAuthHandler> _tempClass = (Class<OAuthHandler>) Class.forName(providerClass);
Constructor<OAuthHandler> oAuthHandlerConstructor = _tempClass.getDeclaredConstructor(Vertx.class);
OAuthHandler oAuthHandler = oAuthHandlerConstructor.newInstance(vertx);
OAuth2Auth oAuth2Auth = oAuthHandler.getoAuth2Auth();
/* AccessToken accessToken = */ oAuth2Auth.getToken(oAuthHandler.getTokenConfig(code), accessTokenResponse -> {
if (accessTokenResponse.failed()) {
System.out.println("Failed to obtain token");
} else {
AccessToken accessToken = accessTokenResponse.result();
// Return the token? Somehow.
}
});
oAuthHandler 是提供者特定的实现,它根据提供者名称提供一些配置等,并且简单地包装了 vertx-auth-oauth2 库提供的方法。
我想在访问令牌返回后使用它,但不在getToken Lambda 内,所以我可以获取有关我需要的用户的任何信息。
我看到了一些关于 Vert.x Futures 的东西,但不确定我是否可以在这里使用它们,任何关于解决方案的建议或示例将不胜感激!
【问题讨论】: