微服务安全:OAuth 授权与 JWT 令牌详解
1. OAuth 授权码授予类型
OAuth 定义了多种授权类型,这里主要探讨授权码授予类型,它适用于能在与授权服务器进行身份验证时对客户端凭证保密的 OAuth 客户端。在微服务场景中,API 网关作为运行在安全服务器上的“客户端”。
1.1 授权码授予类型的流程
以下是访问受保护资源的端到端授权流程的典型交互序列:
1. 终端用户在浏览器中输入 URL。
2. 通常为单页应用(SPA)的表示层组件被下载到浏览器中,并渲染第一页或默认页面。在应用的整个生命周期内,SPA 资源(HTML + CSS + 脚本)仅加载一次,后续仅传输数据。
3. 浏览器中的用户点击和操作会被 API 网关拦截。API 网关作为 OAuth 客户端,由于它是安全的服务器端微服务,因此在与授权服务器进行身份验证时能够对客户端凭证保密。
4. 如果请求需要来自受保护资源的数据,API 网关会引导资源所有者的用户代理到授权端点。此时,OAuth 客户端会包含其客户端标识符、请求的范围、本地状态和重定向 URI。当对受保护资源的访问被允许或拒绝后,授权服务器会将用户代理重定向回客户端指定的重定向 URI。
5. 授权服务器通常会要求用户进行身份验证,以确认声称是资源所有者的用户是否确实是实际的资源所有者,以及他们可以授予客户端哪些权限。授权服务器可以与资源服务器是同一台服务器,也可以是独立的实体。
6. 授权服务器通过用户代理对资源所有者进行身份验证。用户的身份验证信息直接在用户(通过用户代理)和授权服务器之间传递,客户端无法看到这些信息。
7. 身份验证可以通过内部身份验证服务器完成
超级会员免费看
订阅专栏 解锁全文
1063

被折叠的 条评论
为什么被折叠?



