Vad*_*huk 5 authorization single-sign-on oauth-2.0 spring-security-oauth2 angular
我正在关注教程Spring Boot 和 OAuth2。当前端和后端位于不同的服务器上时,我需要对基于服务器的 OAuth2 流程有所了解。
根据教程后端提供 /login/facebook 端点,它基本上重定向到 facebook 和授权后 - 返回重定向 url。当前端是后端部署的一部分时,它工作正常。但是,当我将前端和后端拆分为不同的应用程序时,我遇到了问题,需要洞察正确地做事。
这是我现在看到/完成的方式:
我知道有客户端流程,但我不想对客户端保密(你好逆向工程),这就是创建服务器流程的目的。
根据您的描述,您似乎已经实现了 OAuth 来对 Facebook 的用户进行身份验证。您必须已经在 facebook 创建了 OAuth 客户端。
OAuth2.0授权代码授予流程是这样工作的
+--------+ +---------------+
| |--(A)- Authorization Request ->| Resource |
| | | Owner |
| |<-(B)-- Authorization Grant ---| |
| | +---------------+
| |
| | +---------------+
| |--(C)-- Authorization Grant -->| Authorization |
|Your BE | | Server |
| |<-(D)----- Access Token -------| Facebook |
| Client | +---------------+
| |
| | +---------------+
| |--(E)----- Access Token ------>| Resource |
| | | Server |
| |<-(F)--- Protected Resource ---| |
+--------+ +---------------+
Run Code Online (Sandbox Code Playgroud)
对于客户端 -> 服务器模型,特别是在 SPA 中,这是很棘手的。
你如何处理这个问题。