1

我正在使用 WSSE 身份验证(通过 Symfony2),并且我定义了以下经典登录流程:

  1. 用户输入其用户名和密码并从服务器获取相关的盐
  2. 通过 WSSE 标头检查在服务器上检查用户名和密码(ajax 调用)
  3. 如果凭据有效,则所需数据(即允许在每次请求时重新生成 WSSE 标头的数据)存储在浏览器上

这是完全有效的。

现在,我想添加“使用 facebook 登录”功能。这不是问题,有大量文档,但是,我的目的和困难是保持 WSSE 逻辑工作

由于用户在使用 Facebook 登录时从不输入密码,因此我无法生成 wsse 标头,因此根本没有文档。

有人会处理过这样的操作吗?提前致谢

4

1 回答 1

0

我找到的解决方案是按照这个顺序:

1) 创建一个不在 wsse 防火墙下但由标头令牌或其他类似 x-token 的东西保护的 web 服务:fdslkjl324l2lrkljlkfsjflkjfkljl2,它返回从数据库为给定用户加密的密码。

例如:您应该有一个 web 服务来获取用户 salt 来加密用户的密码以通过 wsse API 进行身份验证。

2) 使用经典的 wsse webservices 和从 wsse 之后的加密密码生成的令牌

现在您已经加密了密码,您可以简单地在 wsse 服务下进行身份验证。

最重要的是您不必将用户密码输入明文。

于 2015-12-03T16:26:10.730 回答