2

我正在开发一个基于 JavaEE 6 的无状态 RESTFul API,重要的是不要在会话中存储任何内容。

我正在使用基于 socialauth java 的社交身份验证提供程序。

我想知道是否有办法在成功验证后重新构建 SocialAuthManager 而无需从会话中检索它,如文档所述:

session.setAttribute("authManager", manager);

接着:

SocialAuthManager manager = (SocialAuthManager)session.getAttribute("authManager");

我想避免这种情况。我想做这样的事情:

SocialAuthManager manager = new SocialAuthManager(PARAMS TO REBUILD PREVIOUS AUTH WORKFLOW);

提前致谢。

4

1 回答 1

0

我正在使用这个库的 4.10 版本开发社交身份验证。在用户获得重定向 url 并获得授权后,我通过这种方式连接到社交服务:

 AccessGrant accessGrant = manager.createAccessGrant(network.getId(), params);
 Optional<Profile> profile = Optional.ofNullable(manager.connect(accessGrant).getUserProfile());

 manager.disconnectProvider(network.getId());

其中 params - 来自成功回调 API 请求的参数。获取用户配置文件后,我断开管理器以重用它。使用此方法时还要注意并发性。

于 2016-01-19T13:52:09.313 回答