Android facebook登录Spring Social webapp
作者:互联网
我目前正在使用Spring Social和Spring Security开发一个Web应用程序.在Web应用程序中,特定用户可以使用ProviderSignInController在Facebook上登录.当工作人员成功通过FB进行身份验证时,他们也会以编程方式登录我的Spring Security本地Web应用程序.这个概念改编自spring-social-showcase. Spring Social然后允许经过身份验证的用户创建事件,这些事件也在Facebook页面上创建.
现在我想写一个Android应用程序,它允许用户发布到我的留言簿,并通过我的Web应用程序查看/创建事件.我现在的问题是如何从我的andoid应用程序中实现登录.在我的Web应用程序中,UsersConnectionRepository将facebook帐户映射到本地帐户.我可以简单地重用这些数据并从我的Android应用程序中以与从Web应用程序完全相同的方式登录吗?
ProviderSignInController为http:// _ webapp_ / signin / facebook添加路径映射,重定向到facebook登录页面.这可以简单地在Android上使用WebView完成吗?
看着spring-android-facebook-client我很困惑.此示例似乎手动管理OAuth身份验证.但我还没想到,当后台中没有其他已经管理认证的Web应用程序时,这是实现它的方式还是另一种可能性.
欢迎任何反馈.谢谢.
Jeyp
解决方法:
Now i want to write a android app which enables users to post to my
guestbook and view/create events via my web application.
Android客户端需要一种方法来登录您的Web应用程序,以便发布到安全的RESTful端点,OAuth是一种很好的方法. Spring Security OAuth是Spring Security的扩展,可以允许第三方移动或Web客户端与您的网站进行交互.
配置OAuth服务器后,您可以在Android客户端中使用Spring Social创建自定义提供程序,以建立与您的网站的OAuth连接.在这种情况下,您的用户将使用其本地凭据对您的网站进行身份验证.连接后,您的Android应用程序可以再次使用您的自定义Spring Social API绑定将事件发布到您网站中的RESTful端点.
在这种情况下,您的用户不会从Android应用程序向Facebook进行身份验证.这假设他们已经在您的网站上建立了帐户和Facebook连接.事实上,这就是SpringSource Greenhouse参考应用程序的工作原理.
这将我们带回到您问题的前一部分:
When staff members authenticate with FB successfully, they are programatically signed in for my local webapp with Spring Security, too.
如果我理解正确,您要求授权您的Android客户端使用Facebook凭据访问您的第三方网站.虽然这当然是可能的,但目前尚未通过Spring Social和Spring for Android支持.
另一种选择是考虑您的网站的移动版本.这样,Android和其他移动设备就可以使用他们的Facebook凭据简单地从普通浏览器登录到您的网站.用户界面更适合移动设备,它可以消除额外OAuth服务器/客户端配置的额外复杂性.
最后,要解决问题的最后部分.这与前面的部分实际上是一个单独的问题:
This example seems to manually manage the OAuth authentication.
主要问题是Spring Social尚不支持资源所有者凭证授权(ROCG).添加此功能将简化在Android上获取Facebook访问令牌的过程,因为您不必处理浏览器重定向.有关更多信息,请参阅此Spring Social issue.
由于缺乏ROCG,Spring for Android示例应用程序演示了一种使用Spring Social获取访问令牌的方法.在这种情况下,它是客户端身份验证流程的修改版本.作为参考,Facebook有一个有用的页面描述了所有可用的authentication methods.在成功认证后,webview重定向到一个URL,此时应用程序能够从该URL检索访问令牌.
SpringSource正在讨论如何在未来版本中简化身份验证并改进Spring Social和Spring for Android之间的这一部分集成.
标签:android,facebook,spring,spring-social 来源: https://codeday.me/bug/20190613/1232657.html