开发者社区> 归邪> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

第三方账号认证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服务端鉴权总结
Signer.php:签名工具类,鉴权签名的核心方法都在这里 Utils.php:封装的工具类,鉴权,返回json数据等都在这里 Account.php:示例Controller,请求百度云接口
0 0
微服务系列之授权认证(一) OAuth 2.0 和 OpenID Connect
这些年围绕着授权鉴权(authorization)和身份验证(authentication)诞生了很多规范和协议。这里只讨论最主流的最新的规范和协议:OAuth2.0、OpenID Connect、JWT。8
0 0
手把手带你接入 OAuth 2.0 授权服务
支付宝等开放平台授权登录场景底层原理 OAuth 2.0 授权技术。 OAuth 2.0 四个关键角色:客户端、第三方软件、授权服务、受保护资源。 本文从第三方软件角度切入,带你手把手接入授权服务,引导用户跳转授权服务授权页,授权服务颁发授权码给第三方软件,第三方软件使用授权码和授权服务交互换取访问令牌,最后通过访问令牌请求授权服务的受保护资源(这块用 api ),进而实现一整套 OAuth 2.0 授权许可许可机制流程。
0 0
关于 OAuth 2.0 统一认证授权
随着互联网的巨头大佬逐渐积累了海量的用户与数据,用户的需求越来越多样化,为了满足用户在不同平台活动的需求,平台级的厂商则需要以接口的形式开放给第三方开发者,这样满足了用户的多样性需求,也可以让自己获得利益,让数据流动起来,形成给一个良性的生态环境,最终达到用户、平台商、第三方开发者共赢。
676 0
如何获取第三方应用授权app_auth_token
一,说明    1.第三方应用文档:[url]https://docs.open.alipay.com/20160728150111277227/intro[/url]     2.作用:代替商户发起相关逻辑请求 二,配置    1.
543 0
API认证及数据加密
API认证 API认证加密过程: 客户端和服务端保留一个相同的随机字符串,如:key = 'uiakjsdfasjdf898'; 将随机字符串key与当前时间戳进行拼接,如:uiakjsdfasjdf898|1540192216171,将拼接生成的新...
1513 0
标准OpenID Connect认证姗姗而来
API认证方式是涉及API安全的关键因素。一个安全的认证方式不仅要认证API请求的身份信息,还要能够对请求做一定的安全防护。如:防止请求被篡改、防止秘钥泄露、防止请求重放攻击等。因此API网关提供了第一版签名“阿里云APP”的认证方式。
1642 0
[认证授权] 5.OIDC(OpenId Connect)身份认证授权(扩展部分)
在上一篇[认证授权] 4.OIDC(OpenId Connect)身份认证授权(核心部分)中解释了OIDC的核心部分的功能,即OIDC如何提供id token来用于认证。由于OIDC是一个协议族,如果只是简单的只关注其核心部分其实是不足以搭建一个完整的OIDC服务的。
1466 0
[认证授权] 4.OIDC(OpenId Connect)身份认证授权(核心部分)
1 什么是OIDC? 看一下官方的介绍(http://openid.net/connect/): OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.
1921 0
+关注
归邪
阿里云 — 高级研发工程师
文章
问答
文章排行榜
最热
最新
相关电子书
更多
使用API网关 快速开放Serverless服务
立即下载
使用API网关快速开放Serverless服务
立即下载
阿里千亿级流量移动API网关的演进
立即下载