微服务API网关身份验证.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微服务-API网关-身份验证 2021-09-26 更多内容关注:fullstack888 一、身份验证引见 身份验证通常是进入系统的第一道大闸,要求用户出具登录此系统的身份证明。其实在实际情况下,很多人开发的系统都没有身份验证功能或者就只要一般用户名和密码验证功能,这样的系统其实都是不完善的,也是不符合平安标准的,所以作为这么大众化的系统,我们有必要做具体的学习和了解。 身份验证分类 对于身份验证,我们分两种情况来看待,界面登录验证和接口调用验证,这两种方式所使用的身份验证方法很多时候是不一样的。 1、界面登录验证 指用户通过前端(包含扫瞄器端和移动端)来进入系统,用户一旦登录成功后,用户后续的操作便是以此身份来执行,常规的做法是服务端生成相应的Session,前端生成Cookie。常见的界面登录处理方案有SSO、Ldap、OAuth、Basic、Kerberos等。下面我们说说这几个处理方案。 1.1、Basic 一般用户名密码登录,通常把用户名和密码以明文或者加密后的方式存储在数据库中,当用户在前端输入用户名密码后,后端进行验证,通过后会生成相应的Session信息,这样就算验证成功了。 这是最基本的一种身份验证方式,在开源软件的身份验证功能里面通常都会带有这种方式。 1.2、Ldap LDAP(Light Directory Access Portocol),它是基于X.500标准的轻量级名目访问协议。 名目数据库是一个为查询、扫瞄和搜索而优化的数据库,它成树状结构组织数据,类似文件名目一样。名目数据库和关系数据库不同,它有优良的读功能,但写功能差,并且没有事务处理、回滚等简单功能,不适于存储修改频繁的数据。所以名目天生是用来查询的,就好象它的名字一样。 LDAP名目服务是由名目数据库和一套访问协议组成的系统。 1.3、OAuth OAuth 2.0 是一个行业的标准授权协议。OAuth 2.0 专注于简化客户端开发人员,同时为 Web 应用程序,桌面应用程序,手机和客厅设备供应特定的授权流程。 它的最终目的是为第三方应用颁发一个有时效性的令牌 token。使得第三方应用能够通过该令牌猎取相关的资源。常见的场景就是:第三方登录。当你想要登录某个论坛,但没有账号,而这个论坛接入了如 QQ、Facebook 等登录功能,在你使用 QQ 登录的过程中就使用的 OAuth 2.0 协议。 1.4、Kerberos Kerberos 是一个网络认证的框架协议,其设计的初衷便是通过密钥系统为 Client 和 Server 应用程序之间供应强大的认证服务。在使用 Kerberos 认证的集群中,Client 不会直接和 Server 进行认证,而是通过 KDC(Key Distribution Center)来完成相互的认证。 Kerberos是一种单点登录处理方案,使用场景之一是在大数据(Hadoop)集群中,用来作为大数据平安的基础保障。 1.5、SSO SSO英文全称是Single Sign On,即单点登录。在多个系统中,用户只需要在其中一个系统中登录过了,就不需要在其他系统中再登录了。 SSO登录方式也是现在最流行的验证方式,在公司内部会有很多套系统,什么Wiki、Gitlab、Jira等等,假如大家在进入每个系统前都去输入用户名密码搞一次,这是挺烦人的,同时也铺张了很多时间和精力,假如用SSO只需要登录一次就好了,岂不是大快人心。 SSO代表一种概念,并不是一种具体的处理方案,最常见的处理方案是CAS,这个我们在后面的章节会单独讲解。CAS可以和Ldap一起构成完整的登录处理方案。 2、接口调用验证 指用户直接通过调用系统的RESTful API等方式来发起操作,常见的接口调用验证方案有HMAC、JWT、证书等。 2.1、HMAC HMAC英文全称是Hash-based Message Authentication Code,即基于Hash的消息的认证码。 我特地在网上搜索了HMAC的原理,但绝大部分要么解释的不清不楚,本人也搞不清楚在说什么,要么就是曲解了真正的意思。我这里用完量通俗的话来让大家明白。 假如你调用过一些云厂商(比如腾讯云、阿里云、七牛云)的公共接口的话,你可能会有印象,他们会给你两个Key,一个叫AccessKey,另一个叫SecretKey,有的厂商会用UserName替代AccessKey,其实是一个意思,UserName或者AccessKey都表示某个特定的用户,而SecretKey表示这是要保密的,不能被别人晓得的,在恳求数据被传输的时候是不会包含SecretKey的。 一般把恳求的参数放在一起作为一个字符串,然后用SecretKey做密钥,接受一种哈希算法(有HMAC-MD5、

文档评论(0)

liuxiyuliuxingyu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档