7

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

  • 直接在网络应用上注册:用户名和密码存储在数据库中。
  • 通过 facebook 注册:用户登录 facebook (Outh),网络应用程序从 facebook 检索数据以填写注册表。Web 应用程序提示用户创建 Web 应用程序帐户。在我的数据库中,我存储了网络应用程序用户和 facebook 数据(访问令牌等),以便第二次尝试登录时,我可以将 facebook 帐户与网络应用程序帐户匹配(我使用 spring social)。

现在我正在为移动应用程序创建一个休息服务,它需要身份验证。我使用基本的 http 身份验证来访问 Web 服务。

我现在的问题是如何使用 Spring Security 在我的 Web 应用程序中登录用户?

我的想法是:

  • 移动应用程序登录 facebook 并检索 access_token(尚未与 Web 应用程序服务器联系)
  • 移动应用程序向 Web 应用程序发送访问令牌
  • Web 应用程序使用 db 或直接使用 facebook 检查访问令牌是否有效
  • 如果访问令牌有效,则应用程序将用户名和密码发送回移动应用程序(可以使用私钥算法加密)
  • 一旦收到 Web 应用程序用户和密码,用户就会通过身份验证,并且此信息将存储在移动设备上并用于 http 身份验证。

你认为这个流程安全吗?你还有其他想法吗?

先感谢您

4

0 回答 0