哪个身份验证流

时间:2016-10-12 05:49:36

标签: authentication facebook openid-connect oauth2

在尝试查找身份验证系统以向Web服务添加社交登录时,我对我应该使用的内容有一些疑问。我的要求是:

  1. 显然是安全的。
  2. 允许用户至少使用Google和Facebook登录,最好是与Twitter和LinkedIn等其他人一起登录
  3. 能够将用户身份验证到后端服务。
  4. 用户将从移动应用程序或基于Web的应用程序访问后端服务。
  5. OpenID Connect听起来很合适但我的理解是Facebook不支持它。

    OAuth2通过有时称为反向流的方式提供解决方案。对于Web应用程序来说这似乎很好,但我不认为恶意用户可能会从另一个应用程序中获取令牌并使用它们来冒充用户。我的理解是,这尤其是Client / Implicit Flow的一个问题。

    有没有办法在移动应用中保护客户端密码?更具体地说,我可以在移动应用程序上实现一些功能,允许我在接受任何令牌之前检查我的服务是否实际上是目标受众?

    关于客户端ID /客户端密钥的第二个问题:

    客户端将从授权服务器获取用户ID或电子邮件,并将其作为标识手段发送到后端,但后端需要验证这一点。为此,我想知道我还必须向后端发送什么?访问令牌?我是否在客户端和后端的授权服务器上使用相同的客户端ID和客户端密钥,以允许后端验证访问令牌?

    1. 还有另外一种方法吗?
    2. 我是否应该实施Openid Connect和Facebook Connect并为每个用户调用正确的?
    3. 这有助于克服这些问题吗?

0 个答案:

没有答案