第三方账号认证OpenID Connect结合Api网关的应用-阿里云开发者社区

开发者社区> 归邪> 正文

第三方账号认证OpenID Connect结合Api网关的应用

简介: OpenID Connect1.0是一个位于OAuth2.0之上的简单身份认证层,是基于OAuth2.0授权协议基础上的由Google,微软,Facebook等公司于2014年发布的最新的认证授权协议(http://openid.net/specs/openid...
+关注继续查看

什么是OpenID Connect

OpenID Connect1.0是一个位于OAuth2.0之上的简单身份认证层,是基于OAuth2.0授权协议基础上的由Google,微软,Facebook等公司于2014年发布的最新的认证授权协议(http://openid.net/specs/openid-connect-core-1_0.html),具有更高的安全性,灵活性,并符合未来安全发展的趋势。

OpenID Connect应用

在该协议中,使用令牌(id_token)替换OAuth2的access_token,id_token生成时使用私钥进行签名,使用时用公钥进行校验。使用JSON数据格式进行传输,并支持各类加密算法(如RSA)。

结合Api网关的使用场景,实现方案分为两个重要的部分:
    1. Authorization server(AS):认证服务器,负责生成id_Token并管理公钥私钥对。


AS在整个体系中担任id_token生产者角色,称作API令牌,所生成的id_token必须符合OIDC(1.0版本)协议中的规范(http://openid.net/specs/openid-connect-core-1_0.html)。
1) Consumer(调用者)向API网关发送获取id_token认证请求,比如:通过用户名和密码(U+P)的方式。
2) API网关透传该请求到AS。
3) AS向Provider(服务提供方)发送认证用户信息请求。
4) Provider响应认证结果,若失败则直接响应错误信息。
5) 认证结果成功,AS生成id_token,id_token中包含了User信息(可扩展,也可包含其他必要信息)。
6) API网关将AS返回的id_token响应给Consumer。

    2. Resource server(RS):资源服务器,负责校验id_token,并解析出相应的信息。


RS在整个体系中担任id_token消费者角色,只有id_token校验通过,才能将请求转发给Provider。
1) Consumer用带有id_token的参数去请求API网关。
2) Api网关会保存校验所使用的公钥,验证并解析id_token获取其中的User信息传给Provider,若验证失败则直接返回错误信息。
3) Provider处理请求并返回结果给Api网关。
4) API网关透传Provider响应的结果给Consumer。

小结

以上只是简单描述了下OpenID Connect结合Api网关应用场景的实现方案,但并不是唯一的。比如在这个实现方案中,AS是一套独立部署的应用,其实也可以把它集成到Provider中去,或者集成到Api网关中;同样的,RS也可以集成到Provider中去,大家可以根据不同的实际情况采取不同的方案。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
浅析阿里云API网关的产品架构和常见应用场景
API 网关提供完整的 API 托管服务,辅助用户将能力、服务、数据以 API 的形式开放给合作伙伴,也可以发布到 API 市场供更多的开发者采购使用。
7772 0
友盟+U-APM 移动应用性能体验报告 :APM越发受到关注,第三方监控工具覆盖已超四成
近日,国内领先的全域数据智能服务商——友盟+,发布了《友盟+U-APM 移动应用性能体验报告》。据悉,友盟+于去年将原移动分析U-App错误分析模块正式升级为U-APM应用性能监控平台,经过近一年的观察,通过DEM 视角分析移动应用端的性能表现发布这份报告,旨在帮助开发者清晰了解行业动态,精准定位自身产品位置。
1129 0
阿里云发布无服务器应用平台,运维效率从未如此高效
近年来,随着越来越多的企业基于微服务架构构建自身核心业务平台后,微服务已获得越来越多技术人员的肯定,同时,微服务也承载着企业数字化转型的重任。但微服务架构的落地给企业的运维团队带来了不少的挑战,原有的运维方式和工具已无法满足微服务架构的需求。
4409 0
ASP.NET Web API(二):安全验证之使用HTTP基本认证
在前一篇文章ASP.NET Web API(一):使用初探,GET和POST数据中,我们初步接触了微软的REST API: Web API。 我们在接触了Web API的后就立马发现了有安全验证的需求,所以这篇文章我们先来讨论下安全验证一个最简单的方法:使用HTTP基本认证。
828 0
Kubernetes(六) - Secret和私有仓库认证
对一个公司来说安全也是最为重要的因为可能一旦出现安全问题可能这个公司就完了,所以对密码管理是一个长久不变的话题,Kubernetes对密码管理提供了Secret组件进行管理,最终映射成环境变量,文件等方式提供使用,统一进行了管理更换方便,并且开发人员并不需要关心密码降低了密码的受众范围从而保障了安全.
99 0
+关注
归邪
阿里云 — 高级研发工程师
2
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载