我是Spring Boot的新手,并尝试以Facebook作为OAuth2提供商实现OAuth2客户端。我已经有一个传统的JWT令牌身份验证,该身份验证与@enableWebsecurity配置为默认身份验证管理器和Custome JWT Token Generator。
- 真的需要配置oferizationserver和在上述方案中的资源服务器?
- 如果不是这样,为什么我的代码总是将我仅返回我的代码,并从Facebook回电。
请在此处查看代码
oauth2 =授权委托协议不是一个身份验证一个。
如果您想将Facebook和Google用作 Identity 提供商,则必须使用身份联合协议,即OpenID Connect(OIDC(。
这最后在OAuth2授权层上方添加了身份验证层(使用JWT ID令牌(。
更具体地说,您的问题(不太清楚(关于弹簧安全配置部分,看来当前的OAuth2服务器实现(您正在谈论的授权服务器和ResourceServer是其中的一部分(不合适,因为它是实现OIDC身份提供商(
关于返回回调URL的代码和状态,它是OAuth2授权代码流的一部分,并且它是完全正常的,然后您必须使用授权服务器令牌端点与访问令牌进行交换。
。(状态只是为了允许在OAuth2全流中传输信息,例如租户ID(。
这确实是写得很好的Oauth2粗俗文章。