使用spring security oauth将社交登录添加到本机应用程序

Hei*_*erg 6 android spring-security spring-social spring-boot spring-oauth2

我一直在关注此链接https://spring.io/guides/tutorials/spring-boot-oauth2,以实现我自己的资源服务器的安全性.我的最终目标是拥有自定义登录的OAuth服务器从我已经使用grant_type =密码实现一个Android应用程序访问资源服务器.

现在我想将Facebook等社交登录添加到同一个流程中.我能够轻松地使它适用于网络应用程序,我甚至从原生Android应用程序中的facebook获取了accessToken,但现在是什么?经过这么多的搜索,我找不到任何有用的Android应用程序.所以我的问题是:

  1. 如何使用spring oauth2将社交登录添加到Android应用程序.有链接吗?
  2. 我是否应该将Spring社交与Spring安全性一起用于我的目标.如果有,怎么样?
  3. 我一直在使用JDBCTokenStore来保存我的令牌,以防我的服务器重启.如果我将我的令牌以某种方式提供给服务器应该如何存储它?

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

小智 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);
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,上面的代码很粗糙......我留下了很多东西让你填写。但大致就是这样。