标准OpenID Connect认证姗姗而来

API认证方式是涉及API安全的关键因素。一个安全的认证方式不仅要认证API请求的身份信息,还要能够对请求做一定的安全防护。如:防止请求被篡改、防止秘钥泄露、防止请求重放攻击等。因此API网关提供了第一版签名“阿里云APP”的认证方式。

随后随着移动用户逐渐增多,这使API网关不仅要提供对Websocket、HTTP2.0等协议的支持,优化API认证方式。于是推出了“OpenID Connect & 阿里云APP”的认证模式,通过Appkey+Token(用户的登录名/密码获取的)模式来认证API请求,这样不仅仅增加了安全性,还保留了API请求鉴权、APP级别的流量控制等。

然而还有一部分用户的问题没能解决,APP会存在反编译的风险,纯前端Js、Ajax调用不能存储Appkey,且复杂的签名让其计算困难。并鉴于更多的用户开始使用HTTPS,于是阿里云API网关推出了标准的OpenID Connect模式。

这个模式的特点:

  1. 更安全:客户端不需要存储任何安全的信息,即使token丢失也只会损失这一个用户的信息;且token具备时效性,会在很短的时间内失效。让前端的js或者APP更安全的使用API
  2. 更简单:不需要进行复杂的签名

使用这个模式的要求

  1. APP或者前端程序需具备登录态,也就是说,用户需要通过用户名密码登录您的程序或应用
  2. 为了保证不让Token失效而让用户跳出登录,当Token过期时可以由程序自动发起获取Token的操作

注意事项

  1. 为了保证用户名密码的安全,建议要使用加密协议发起用户名/密码获取Token的操作
  2. 为了保证安全应给Token设置时效性,时间长短可以视业务要求而定,不宜过长,过长会存在安全问题。也不宜过短,过短会损伤程序性能
  3. 为了避免用户名/密码被暴力破解,建议配置流量控制。可以视密码强度而定,控制不宜过小或过大。

这仅是API网关为移动应用、前端程序安全调用API提供的认证方式之一,使用方法请参照:OpenID Connect认证,还会推出更多的安全认证方式。

也可以加入API网关客服服务的钉钉群:11747055

时间: 2024-10-12 19:58:52

标准OpenID Connect认证姗姗而来的相关文章

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

什么是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的acce

OpenID 关联认证提供 CoreOS dex

CoreOS dex 详细介绍 CoreOS dex 是 CoreOS 开源的,基于标准的认证提供器和身份验证解决方案. 之所以称之为"dex"是因为集中化用户索引,软件的其他部分也可以进行验证. 主要特性: 安全 标准 语言/平台无关 身份验证联盟 提供以下组件: PostgresSQL 数据库服务,作为 dex 的后端存储 单个 dex-overlord,密钥转换和其他管理任务 一些 dex-workers,为终端用户验证提供前端 产品网站 Tectonic.com 文章转载自 开

API签名搞这么复杂,什么鬼?

如果你使用过阿里云的云产品的API或者API网关,你会发现API签名是件比较难以搞定的事情.为什么要搞这么复杂? 他们是怎么签名的 两种类型的API都如何签名,点击查看详细API网关签名.云产品签名(以Ecs为例) 看完签名文档,你会发现,两种API都是需要用户,使用密钥对排序后的请求全部内容(注意:是全部内容,包括请求的Method.HEADERS.URL.QueryString.BODY)计算签名串,并将签名串放入请求,供验证请求身份.还需要在请求中增加TimeStamp和Nonce内容.

企业级-有人了解Kerberos ticket, OpenSSO, OpenID吗?

问题描述 有人了解Kerberos ticket, OpenSSO, OpenID吗? 我的项目是企业级app,用iOS做客户端,Java做后台,客户端访问通过vpn,客户端是自己的employee使用的,所以可能要SSO认证,他们让我了解ADFS/Kerberos ticket, OpenSSO, OpenID, OpenID Connect,这些都是提供SSO的吗?有什么区别?我这种项目用的上吗?apple提供这方面的技术吗? 解决方案 openid是一种通过url唯一确定你的身份信息的开放

OIDC–基于 OAuth2 的下一代身份认证授权协议

OIDC(OpenID Connect),下一代的身份认证授权协议:当前发布版本1.0: OIDC是基于OAuth2+OpenID整合的新的认证授权协议:OAuth2是一个授权(authorization)的开放协议, 在全世界得到广泛使用,但在实际使用中,OAuth2只解决了授权问题,没有实现认证部分,往往需要添加额外的API来实现认证:而OpenID呢,是一个认证(authentication )的协议,二者在实际使用过程中都有其局限性: 综合二者,即是OIDC:通过OIDC,既能有OAUT

Kubernetes V1.3 预览-认证,伸缩和改进的安装方式

本文讲的是Kubernetes V1.3 预览-认证,伸缩和改进的安装方式[编者的话]本文为Core OS在其官方博客中发布的关于在Kubernetes 1.3的预览文章,介绍了目前Kubernetes新版本带来的新的引人入胜的特性和改进功能.本文作者为Mike Saparov,目前作为副总裁任职于CoreOS公司. 随着Kubernetes 1.3版本发布时间的临近,我们在这里分享一个关于CoreOS的文档,它可以帮助整个社区朝着这个重要的里程碑前进.Kubernetes是很多企业在早期环境中

.NET微信公众号获取OpenID和用户信息_实用技巧

本文实例为大家分享了微信公众平台实现获取用户OpenID的方法,供大家参考,具体内容如下 Index.aspx.cs代码: public partial class Index : System.Web.UI.Page { //用户id public string openid = ""; //公众号信息部分 public string appid = ConfigurationManager.AppSettings["AppId"]; public string

ASP.NET中的表格认证之一

asp.net 简介 ASP开发人员总是自己解决认证问题,但ASP.NET已经支持内置的认证功能.在本篇文章中,我们将介绍如何这二者在认证方面有什么变化,如何用很少的代码使用FormsAuthentication使用网站更安全. 在ASP编程中,无论是使用集成的安全协议(例如Windows NT LAN Manager [NTLM]的寻问/应答认证协议),基本的安全协议(指纯文本)还是自己创建的安全协议,其工作量都是十分惊人的.表格认证使开发人员能够在Web.config文件中存储用户名.口令等

Http Digest 认证在android平台的实现

课题: 编写一个Android应用,访问一个基于Http服务的数据服务系统,为了提高安全性,该数据服务系统采用了Http Digest认证体系,理由是,相比基本认证方式而言,Digest认证可以保证认证信息(用户名和密码)的传输安全,同时比SSL简单易用.在使用浏览器访问时,会提示一个用户名和密码对话框,但如果是程序访问,就需要在程序访问过程中编程提供认证信息. 要求: -- 在程序中可以设置用户名和密码 -- 可以通过网络访问基于Digest认证和Http数据服务(JSON格式) -- 使用A