2016-11-21 104 views
0

我有一个Web服务休息实现,我目前在安全工作。Spring Security Oauth2 in Rest API

该Web服务是使用Spring启动实现的。最初,我将客户作为Android应用程序和Web应用程序,但未来我会考虑将此API公开,所以我也必须考虑这个问题。

我研究了很多关于Spring安全的oauth2,但有两种基本的疑惑:

  • 所有我见过到目前为止一直使用Web App客户端,其中,服务器重定向到该实例网址的身份验证。在Android应用程序中,此认证是如何完成的?毕竟,我没有使用Android上的Html进行重定向。

  • 我需要我的客户使用Facebook登录,用户可以在应用程序内共享。最初我想过应用程序客户端负责执行此认证并以某种方式稍后将其发送到我的服务器的可能性,因为我认为它比Spring Social更实用。这可能吗?

非常感谢你,我的用例架构的任何提示都会受到欢迎。

回答

0

一种可能性是去联合身份管理系统,如keycloak。 Keycloak为春季提供适配器,以及android有完整的OAUTH2支持,并为您提供使用Facebook作为身份提供者的可能性。 它给你带来很多好处,因为你很可能需要的许多功能已经存在。另一方面,这是一个很大的话题,因此请注意,需要一段时间才能使整个设置生效。您需要托管keycloak,为Android应用程序和Web应用程序配置客户端,向Android应用程序和Web应用程序引入keycloak适配器,并最终将Facebook配置为身份提供者。

编辑:

看一看here,这似乎是有前途的。一般来说,我不得不承认我自己并没有将keycloak与facebook或Android整合在一起。我们利用它来保护我们的spring-boot和Java EE应用程序。我只是在整合过程中大量地参与了这个工作,并且对这个功能表示了沉重的打击。也可以手动在Android上执行OAUTH2 seeHere是一个如何做facebook整合的例子。我希望这有助于和好运;)

+0

非常感谢您的答复。我正在学习Keycloack。我不知道这个解决方案。听起来是一个很好的解决方案。您是否有身份验证Android客户端的示例链接?然而,考虑到Facebook登录,我如何在时间表上分享? –

+0

非常感谢。解决了我的问题! –

相关问题