6

我一直在关注这个链接https://spring.io/guides/tutorials/spring-boot-oauth2来实现我自己的资源服务器的安全性。我的最终目标是让自定义登录 oauth 服务器从我使用 grant_type=password 实现的 android 应用程序访问资源服务器。

现在我想将 Facebook 等社交登录添加到同一流程中。我能够轻松地使其适用于网络应用程序,我什至在本机 android 应用程序中从 facebook 获得了 accessToken 但现在呢?经过这么多搜索,我找不到任何适合安卓应用的东西。所以我的问题是:

  1. 如何使用 spring oauth2 将社交登录添加到 android 应用程序。有链接吗?
  2. 我是否应该使用 Spring social 和 spring security 来实现我的目标。如果是,如何?
  3. 我一直在使用 JDBCTokenStore 来保存我的令牌,以防我的服务器重新启动。如果我以某种方式将令牌发送到服务器,我应该如何存储它?

如果我的理解不正确,请告诉我。

4

1 回答 1

0

无需深入挖掘细节,您可以从客户端获取令牌并使用它通过连接存储库创建新连接。当然,您还需要知道连接属于哪个用途。最后,代码将如下所示:

代码:

UsersConnectionRepository ucr = ...; // probably injected
ConnectionRepository cr = ucr.createConnectionRepository(userId); // you determine the userId somehow
ConnectionData cd = new ConnectionData(...); // lots of params...you'll fill those in.
FacebookConnectionFactory fcf = ...; // create or inject this
Connection<Facebook> conn = fcf.createConnection(cd);
cr.addConnection(conn);

如您所见,上面的代码很粗略……我留下了很多内容供您填写。但这大致就是您的做法。

于 2016-07-20T11:05:51.470 回答