接口规范 2. 登录认证

简介: 2.登录认证客户端调用流媒体服务器接口,首先要做的是身份认证,认证通过后才可以调用流媒体服务器的接口。服务器和客户端通过“挑战->应答”方式(challenge-response)进行身份认证交互,在这个过程中,客户端需要调用两次接口向服务器证明身份。

2.登录认证

客户端调用流媒体服务器接口,首先要做的是身份认证,认证通过后才可以调用流媒体服务器的接口。
服务器和客户端通过“挑战->应答”方式(challenge-response)进行身份认证交互,在这个过程中,客户端需要调用两次接口向服务器证明身份。认证过程中不需要传递密码,密码用于签名验证。
身份认证的过如下:
1)客户端使用“用户名”作为参数调用“login1”接口,向服务器发出身份认证请求
1.1)服务器确认用户是否是有效的用户:
1.2)若不是,则不做进一步处理,返回错误信息
1.3)若是,服务器产生一个“随机数(挑战字符串)”发送给客户端
2)客户端使用“用户密码”和“随机数(挑战字符串)”作为输入,按约定的算法生成一个hash值,用该hash值作为 调用“login2”接口的参数,请求login2接口。
2.1)服务器用收到的hash值与自己的计算结果比较,若二者相同,则通过认证;否则,认证失败
2.2)若认证通过,服务器返回“token”给客户端,否者返回错误信息。

2.1.login1接口

  • 用途
    客户端向服务器申请进行身份认证,服务器返回“挑战字符串”给客户端。
  • 请求
    userAuth/?request=login1&username=admin
    username 登录服务器的用户名。
  • 响应
    {
    "code":0,
    "err_desc":"auha3gik9m48l1mh"
    }

    code 等于0,表示用户有效,此时 err_desc 的内容是返回的挑战字符串(challenge_code)。
    code 不等于0,其他值表示错误,此时 err_desc 的内容是错误描述。
    返回的挑战字符(challenge_code)串用于下一步认证。

2.2.login2接口

  • 用途
    对login1接口返回“挑战字符串”进行hash运算,将运算结果提交给服务器,进行身份合法性认证。
  • 请求
    userAuth/?request=login2&username=admin&hash=8c96202be3da1b23a96c4c838eb34d93
    username 登录服务器的用户名。
    hash是使用用户密码和挑战字符串作为输入计算出的md5摘要值(hash),算法如下:
    hash=md5(md5(password)+challenge_code)
    算法描述:首先计算出密码的hash值,然后在生成的密码hash值尾部拼接上挑战字符串形成新的字符串,最后计算这个新字符串的hash值。
    hash算法采用md5算法,生成的摘要采用16进制编码,编码生成的字符采用小写字母。
    例如,字符串111111的hash值是 96e79218965eb72c92a549dd5a330112
  • 响应
    {
    "code":0,
    "err_desc":"g2ow17rfyf4nxbkg"
    }

    code 0 表示登录成功,此时 err_desc 的内容是token值,用于后续接口的通信认证。
    code >0 其他值表示错误,此时 err_desc 的内容是错误描述。

2.3.logout接口

  • 用途
    退出登录,服务器销毁用户登录信息,作废“token”。
    建议客户端在退出系统时总是调用该接口。
  • 请求
    userAuth/?request=logout&token=vvkphp5ca79c538n
  • 响应
    {
    "code":0,
    }
相关文章
|
存储 Java 关系型数据库
LDAP统一认证服务解决方案
LDAP统一认证服务解决方案
676 1
|
7月前
sa-token实现网关调用认证服务统一鉴权
sa-token实现网关调用认证服务统一鉴权
399 0
|
数据安全/隐私保护
关于 OAuth 2.0 统一认证授权
随着互联网的巨头大佬逐渐积累了海量的用户与数据,用户的需求越来越多样化,为了满足用户在不同平台活动的需求,平台级的厂商则需要以接口的形式开放给第三方开发者,这样满足了用户的多样性需求,也可以让自己获得利益,让数据流动起来,形成给一个良性的生态环境,最终达到用户、平台商、第三方开发者共赢。
2981 0
接口规范 9. 推流认证相关接口
9 推流认证相关接口 9.1.开启推流认证 用途针对某个应用,开启推流认证。开启推流认证后,所有向该应用下的推送直播流的请求都需要做合法性认证,只有认证通过的请求才会允许推送。认证的方法包括token认证和第三方认证。
1230 0
|
1月前
|
前端开发 数据安全/隐私保护
.自定义认证前端页面
.自定义认证前端页面
13 1
.自定义认证前端页面
|
小程序 JavaScript 程序员
小程序最新标准授权登录流程+逻辑
小程序最新标准授权登录流程+逻辑
169 0
|
5月前
|
安全 API 网络安全
​邮箱OTP认证验证API发送邮件接口
**摘要 (Markdown格式):** OTP认证增强在线服务安全,尤其适用于邮箱验证。AOKSend提供邮箱OTP验证API,实现安全的邮件发送和用户身份验证。关键优势包括提高安全性、简化用户体验、实时发送、可扩展性和多层安全。配置涉及生成API密钥、设置SMTP、实现OTP逻辑、发送邮件及验证。AOKSend的分析工具帮助优化策略,适合各规模企业。
|
C# 图形学 开发者
宣布 freeCodeCamp 获得新的基础 C# 认证
欢迎大家来学习 .NET Conf 2023 发布的全新 C# 认证,我们与受人尊敬的 freeCodeCamp 合作,我们的认证不仅仅是一个徽章,而是优质教育的标志。它是全面的、全球可访问的、免费的。
519 3
|
API
对企业用户信息进行认证的几种方式
企业认证的方式有很多种,根据业务类型和平台定位的不同,分为多种不同的形式,一般是通过人工审核和接入数据服务商的数据认证接口进行信息验证,具体常见的认证方式有以下几种。
256 0
对企业用户信息进行认证的几种方式
|
安全 Java
直捣黄龙,我直接攻破公司的认证框架调用系统的接口
直捣黄龙,我直接攻破公司的认证框架调用系统的接口