在尝试查找身份验证系统以向Web服务添加社交登录时,我对我应该使用的内容有一些疑问。我的要求是:
OpenID Connect听起来很合适但我的理解是Facebook不支持它。
OAuth2通过有时称为反向流的方式提供解决方案。对于Web应用程序来说这似乎很好,但我不认为恶意用户可能会从另一个应用程序中获取令牌并使用它们来冒充用户。我的理解是,这尤其是Client / Implicit Flow的一个问题。
有没有办法在移动应用中保护客户端密码?更具体地说,我可以在移动应用程序上实现一些功能,允许我在接受任何令牌之前检查我的服务是否实际上是目标受众?
关于客户端ID /客户端密钥的第二个问题:
客户端将从授权服务器获取用户ID或电子邮件,并将其作为标识手段发送到后端,但后端需要验证这一点。为此,我想知道我还必须向后端发送什么?访问令牌?我是否在客户端和后端的授权服务器上使用相同的客户端ID和客户端密钥,以允许后端验证访问令牌?