Spring社交登录可以用于身份验证吗?

Spring社交登录可以用于身份验证吗?,spring,authentication,spring-social,Spring,Authentication,Spring Social,SpringSocial的社交登录功能似乎是围绕获取令牌构建的,令牌可用于向提供商的社交API发出请求。我对使用它进行OAuth2身份验证感兴趣,而不需要向提供者的API发出请求。Spring Social是否执行完整的OAuth2身份验证(针对OAuth2提供者)?我的意思是,它是否验证从提供者返回的OAuth2请求 因此,例如,当调用ConnectionSignUp.execute(Connection)方法时,我们是否知道用户成功地通过了针对提供者的身份验证 如果是这样,验证在源代码中的什

SpringSocial的社交登录功能似乎是围绕获取令牌构建的,令牌可用于向提供商的社交API发出请求。我对使用它进行OAuth2身份验证感兴趣,而不需要向提供者的API发出请求。Spring Social是否执行完整的OAuth2身份验证(针对OAuth2提供者)?我的意思是,它是否验证从提供者返回的OAuth2请求

因此,例如,当调用
ConnectionSignUp.execute(Connection)
方法时,我们是否知道用户成功地通过了针对提供者的身份验证


如果是这样,验证在源代码中的什么地方经过验证?

我不确定我是否理解这个问题,但还是让我试着回答

OAuth流要求用户在授权应用程序和应用程序接收令牌之前,必须针对提供商进行身份验证。如果用户未针对提供商进行身份验证,提供商应在提示授权之前对其进行身份验证。因此,由于流成功完成并且应用程序接收到访问令牌,因此可以安全地假设用户已通过提供商的身份验证

您说过您希望在不向提供商的API发出请求的情况下进行身份验证。不幸的是,这在任何形式的OAuth流中都是不可能的。身份验证代码、隐式和密码授予都需要与提供程序交互。(我猜隐式授权不一定直接处理API,因为它直接接收令牌以响应授权。)


在任何情况下,Spring Social在授权后做的第一件事就是返回并获取用户详细信息,并使用唯一的用户ID执行身份验证。这在每个提供程序实现的API适配器中(例如,FacebookAdapter:)。如果不返回到提供者并获取用户详细信息,就无法确定收到的访问令牌是否有效

谢谢克雷格的解释。使用,我们什么时候可以确定C&D步骤已经完成?此外,我不向提供商的API发出请求的意思是,如果我仅将其用于身份验证,我们就不需要执行步骤E&F?我想我的问题的核心是,我们是否可以使用Spring Social授权连接到授权服务器的用户,而不必关心资源服务器?(尽管在某些方面,我们可能至少需要来自资源服务器的电子邮件地址)。