使用Facebook Oauth从web服务器上的移动应用程序登录流量

使用Facebook Oauth从web服务器上的移动应用程序登录流量,facebook,login,spring-security,spring-social,Facebook,Login,Spring Security,Spring Social,我有一个使用Spring和Spring security构建的web应用程序,允许用户通过Facebbok注册以太,或者创建一个帐户,在这两种情况下都会创建一个web应用程序帐户。因此,这两种注册方法如下所示: 直接在web应用程序上注册:用户名和密码存储在数据库中 通过facebook注册:用户登录facebook(Outh),web应用程序从facebook检索数据以填写注册表格。web应用程序提示用户创建web应用程序帐户。在我的数据库中,我存储web应用程序用户和facebook数据(

我有一个使用Spring和Spring security构建的web应用程序,允许用户通过Facebbok注册以太,或者创建一个帐户,在这两种情况下都会创建一个web应用程序帐户。因此,这两种注册方法如下所示:

  • 直接在web应用程序上注册:用户名和密码存储在数据库中
  • 通过facebook注册:用户登录facebook(Outh),web应用程序从facebook检索数据以填写注册表格。web应用程序提示用户创建web应用程序帐户。在我的数据库中,我存储web应用程序用户和facebook数据(访问令牌等),以便第二次尝试登录时,我可以将facebook帐户与web应用程序帐户匹配(我使用spring social)
现在我正在为移动应用程序创建一个rest服务,它需要身份验证。我使用基本的http身份验证来访问web服务

我现在的问题是,如何使用spring security在我的web应用程序中登录用户

我的想法是:

  • 移动应用程序登录facebook并检索access_令牌(尚未与web应用程序服务器联系)
  • 移动应用向web应用发送访问令牌
  • Web应用程序通过db或直接通过facebook检查访问令牌是否有效
  • 如果访问令牌有效,应用程序会将用户名和密码发送回移动应用程序(可以使用私钥算法加密)
  • 收到web应用程序用户和密码后,用户将通过身份验证,此信息存储在手机上并用于http身份验证
你认为这个流程安全吗?你还有其他想法吗

先谢谢你