美文网首页程序员
Web API接口鉴权方式

Web API接口鉴权方式

作者: 兔子丶哥 | 来源:发表于2020-07-22 10:47 被阅读0次
  • 为什么要接口(API)鉴权?

如果把API接口直接暴露在互联网上是存在安全风险的,所以我们需要对API进行权限划分,对接口调用方做一个用户鉴权,如果鉴权通过则允许此用户进行API调用,反之则拒绝。根据不同的业务场景,接口鉴权方案也有很多种。

  • Cookie + Session机制实现Web API的鉴权

这种机制是最为传统的,特别是在网站中的登录模块靠的就是Cookie+Session来实现会话管理的。1、实现原理后台为了标识请求是哪个客户端发现的,会在服务端生成一个Session来保存会话状态,各个Session是靠具有唯一性的SessionID来标识的,SessionID存储在客户端的Cookie中;后续所有请求都会把Cookie传到服务器端,服务器端解析Cookie后找到对应的Session进行判断。 image

2、优点技术实现方便。3、缺点弊端

  • 不适合分布式应用,跨平台性差
  • Cookie传输会影响通信性能
  • HTTP协议本身是无状态的,而Cookie+Session机制硬生生的给加了状态进去,不符合设计理念

存在安全风险:因为Cookie是存储在客户端的,客户端可以随意更改Cookie,存在伪造请求的风险

  • Token机制实现Web API的鉴权

Token(令牌)是用来替代Session的新兴鉴权方案,现在的Web API基本上离不开Token令牌。1、实现原理

  • Token是服务器端生成的一串加密串发放给客户端,客户端请求服务器端所有资源时会带上这个Token(通过GET/POST/Header来传递),由服务器端来校验这个Token的合法性。 image

2、优点

  • 真正的无状态,适合分布式,扩展性好
  • 性能高,安全性好

3、Token的实现形式 Token令牌技术是一种技术方案统称,具体的实现方案是有所差别的,最常见的Token种类有以下几种:

  • 自定义实现Token:应用开发者根据Token机制原理自行实现
  • JWT:Json Web Token,是一种主流的Token规范
  • Oauth:Oauth本质上是授权规范,其中也用到了Token
  • HTTP Basic Authentication认证机制
  • Web API是基于HTTP协议的,而HTTP协议本身就带有认证机制。

HTTP协议的认证机制主要有两种:

  • 基本认证

  • 摘要认证 image

    但是这种机制日常很少使用,因为HTTP协议在传输数据过程中是明文传输的,所以这种认证机制本身就存在安全风险,除非配合HTTPS来实现。

相关文章

  • Web API接口鉴权方式

    为什么要接口(API)鉴权? 如果把API接口直接暴露在互联网上是存在安全风险的,所以我们需要对API进行权限划分...

  • Jmeter——实战一

    获取接口统一鉴权码token接口 url地址:https://api.weixin.qq.com/cgi-bin/...

  • laravel  JWTAuth实现api接口鉴权(基础篇)

    laravel JWTAuth实现api接口鉴权(基础篇)[https://www.cnblogs.com/mg0...

  • Koa 使用 JWT 实现鉴权

    JWT 鉴权的优势 JWT (JSON Web Token) 是现今比较主流的的登录鉴权方式。token 类似一个...

  • basic auth和digest auth比较

    经常看到接口请求中,有如下的鉴权使用方式 #发送get请求,加鉴权--BasicAuth fromrequests...

  • JWT验证

    一、JWT是什么 JWT即JSON Web Token,是一种认证鉴权方式,一般是用在我们的http接口请求上,将...

  • 钉钉微应用移动端获取用户信息

    方式一 鉴权流程完成后 钉钉的某些API在鉴权前是可以调用的,因此,可以直接调用,但是 dd.biz.user....

  • 接口统一鉴权

    背景简述 为了保障用户的数据安全,所有对外开放的接口须使用统一鉴权的方式,为了防止API调用过程中被恶意篡改,调用...

  • Web API的接口访问分类

    Web API接口的访问方式,大概可以分为几类:1)一个是使用用户令牌,通过Web API接口进行数据访问。这种方...

  • 钉钉微应用移动端获取用户信息

    方式一 鉴权流程完成后 钉钉的某些API在鉴权前是可以调用的,因此,可以直接调用,但是 dd.biz.user.g...

网友评论

    本文标题:Web API接口鉴权方式

    本文链接:https://www.haomeiwen.com/subject/sthzkktx.html