登录流:WSSE身份验证&;Facebook登录

登录流:WSSE身份验证&;Facebook登录,facebook,symfony,facebook-javascript-sdk,restful-authentication,wsse,Facebook,Symfony,Facebook Javascript Sdk,Restful Authentication,Wsse,我正在使用WSSE身份验证(通过Symfony2),并定义了以下经典登录流: 用户输入用户名和密码,并从服务器获取相关的salt 用户名和密码通过WSSE头检查在服务器上进行检查(ajax调用) 如果凭据有效,则所需数据(即允许在每次请求时重新生成WSSE标头的数据)存储在浏览器上 这是完全有效的 现在,我想添加“使用facebook登录”功能。这不是一个问题,有很多关于它的文档,但是,我的目的&我的困难是保持WSSE的逻辑工作 由于用户在使用Facebook登录时从不输入密码,因此我无法生成w

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

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

    现在,我想添加“使用facebook登录”功能。这不是一个问题,有很多关于它的文档,但是,我的目的&我的困难是保持WSSE的逻辑工作

    由于用户在使用Facebook登录时从不输入密码,因此我无法生成wsse头文件,对此没有任何文档


    有人已经处理过这样的行动了吗?提前感谢

    我找到的解决方案如下:

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

    例如:您应该有一个Web服务来让用户salt加密用户的密码,以便通过WSSEAPI进行身份验证

    2) 使用经典的wsse Web服务,从wsse之后的加密密码生成令牌

    现在您已经对密码进行了加密,只需在wsse服务下进行身份验证即可


    最重要的是,您不必将用户密码置于明文中。

    我找到的解决方案如下所示:

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

    例如:您应该有一个Web服务来让用户salt加密用户的密码,以便通过WSSEAPI进行身份验证

    2) 使用经典的wsse Web服务,从wsse之后的加密密码生成令牌

    现在您已经对密码进行了加密,只需在wsse服务下进行身份验证即可


    最重要的是你不必把用户密码写得很清楚。

    嗨,查尔斯·安托万,如果你能发布一些代码就好了。在我看来,最好的方法是修改WSSE Token对象以添加一些FB Token,然后在validate函数中,使用Facebook API检查该Token是否有效,然后返回与Token中的地址相关联的用户hi Charles Antoine,如果可以发布一些代码就好了。在我看来,最好的方法是修改WSSE Token对象,为其添加一些FB Token,然后在validate函数中,使用Facebook API检查Token是否有效,然后返回与Token中的地址相关联的用户