阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

OTT 端登录态设备穿透:扫码登录与反登录

  • 2020-04-04
  • 本文字数:2592 字

    阅读完需:约 9 分钟

OTT 端登录态设备穿透:扫码登录与反登录

一、背景

手机设备相较于台式电脑、笔记本电脑,具备更强的“私有-私密性”,因此在智能手机中安装 APP 应用后,登录态可长期保存,这也直接导致了用户对于应用/站点密码记忆度大幅下降,“扫码登录”技术随之被普及。


但是到了 OTT 大屏电视场景,扫码登录是如何实现的呢?本文将以优酷“CIBN 酷喵影视”为例,详解 OTT 大屏中的“扫码登录“与“扫码反登”的技术实现策略。

二、OTT 端登录需求

OTT 从开发语言、操作理念等都遵循手机 APP 相关规范,区别在于 APP 为触屏操作,OTT 为遥控器操作。自然地,很多年轻人更习惯在手机上完成操作,实现优酷手机 APP 与 OTT APP(CIBN 酷喵影视)的无缝衔接。这其中就涉及到了账号登录态同步的问题,而且二者存在众多登录场景的互动。


所以,除了常规的“扫码登录”(通过手机操作,将手机端登录态同步至 PC/OTT 端),在 OTT 场景下,还衍生出了“扫码反登”。



扫码反登:指将 OTT 端账号登录态,同步至手机端,使手机端在扫码相关操作完成后,跳转至指定页面。优势是,由手机端完成 OTT 相应操作,同时避免手机端无登录态、登录账号不统一等带来业务操作上的偏差。


具体的“扫码反登”业务场景可分为四类:


1)登录:OTT 端酷喵应用登录二维码;


2)客服:各种业务类型客服小蜜二维码;


3)互动:OTT 端活动投放,与小屏配合互动-扫码;


4)支付:OTT 端二维码收银台。

三、同步登录态

在 OTT 端主要有“扫码登录”及“扫码反登录”两类场景业务需求,那么我们先对两种同步登录态实现逻辑进行解读。

1. 扫码正登录

早在数年前已经普及,在 OTT 端也是首发登录方式。虽然这是个程序技术,但是也有不少同学感到好奇:一个光秃秃的二维码,是如何完成识别被哪个手机扫码,又是通过什么逻辑实现 OTT 端/PC 端登录的?下面我们进行逻辑拆解:


1)Tips


因为需要将小屏登录同步至 OTT 端,那么该情景 OTT 端与手机端登录情况分别为:


a)OTT 端-未登录;


b)手机端-未登录/已登录均可。


2)原理图:



3)逻辑解读


①当二维码扫码登录页面被打开时,OTT 端会想服务端发送一个请求,用以获取平台唯一标识值(当然也可以有客户端根据算法自行得出后通知服务端,但严密性存在问题),我们姑且称之为“uuid”,该值作为本次登录的核心参数贯穿整个登录始终;


②服务端在生成这个 uuid 之后,会将其记录(redis 服务器),并建立查找索引逻辑,除了 uuid 通过接口返回前端外,接口返回中“登录验证二维码”url 一并返回,此时 uuid 布设与该 url 参数中;


③前端页操作页面视图显示该二维码,该二维码实际为 passport 登录验证页面;


④在展示二维码的同时,前端将以 uuid 为参数进行登录状态接口验证轮询;


④现在登录状态轮询已开启,而二维码则开始等待手机扫码;


⑤当用户手机端扫码后,会出现两种情况:用户已经登录、用户未登录,那么此时就面临两种逻辑:


a)用户已登录:则 uuid 及用户 cookie 随校验页面直接到达 passport 服务端,服务端跟据 cookie 校验登录状态,并根据本次上行 uuid 去匹配先前(第①项)已记录的 uuid,一经查找成功,则通过内部方法将 cookie 解析生成的 token,与先前 uuid 形成键值关系;


b)用户未登录:则手机端扫码后,一经校验无登录态,则该“passport 登录验证页面”跳转至登录页面。此时,登录页 url 参数中,依旧携带有 uuid 参数,以及扫码登录标识,用于 passport 服务端后续逻辑处理,用户在键入账号密码后点击登录,则登录页跳转回“passport 登录验证页面”,后续流程与前段落一致;


⑥在以上④-1 中已经提到,OTT 端一直在轮询接口登录状态,在完成上文第⑤后,轮询接口再次携带 uuid 请求 passport 服务端,经由 uuid 查询匹配,可以确定本次状态为“手机端已操作确认登录”,那么该次轮询接口返回中已经明确登录状态,并且将第⑤项中生成的 token 一并返回。


至此六大过程形成闭环,宣告登录成功,并显示相应已登录视图,扫码正登录也已经完成。

2. 扫码反登录

OTT 端存在一种特有场景,OTT 端本身存在交互操作及功能上的局限,例如付费购买,需要将大屏登录态同步至手机端,在手机端完成强登录操作。


1)Tips


因为需要将 OTT 屏登录同步至手机端,那么该情景 OTT 端与手机端登录情况分别为:


a)OTT 端-已登录


b)手机端-未登录/已登录均可


2)原理图:



3)逻辑解读


①当二维码扫码登录页面被打开时,OTT 端会向服务端携带 token 发送一个请求,用以获取平台唯一标识值“authCode”,该值作为本次反登录的核心参数贯穿整个登录始终;


②服务端生成 authCode 之后,会将 authCode 与请求上行 token 记录(redis 服务器),并建立查找索引逻辑。除了 authCode 通过接口返回前端外,接口返回中“登录验证二维码”url 一并返回,此时 authCode 布设与该 url 参数中;


③前端页操作页面视图显示该二维码,该二维码实际为“passport 登录态种植页面”;


④当用户手机端扫码后,“passport 登录态种植页面”被打开,此时该页面 url 中 authCode 参数,随请求发送与 passport 服务端;


⑤服务端接收到请求并且获取到 authCode,并与先前存储的 authCode 进行匹配,已经匹配成功,则将先前存储的 token 返回,此时手机端登录态已经种植成功。

四、指定跳转

扫码正登与反登是 OTT 端登录业务中的核心环节,但这还没有完整满足 OTT 场景实际需求,我们还需要在手机端登录操作完成之后,跳转到指定页面。这相对于登录态同步要简单得多,可以在 passport 页面后追加一个 callback 参数,参数值为指定页面 url,借助 passport 相关逻辑,在手机端确认登录成功后跳转至该 url,从而实现指定页面跳转。


在上述逻辑实现之后,则完整满足了 OTT 场景需求,而借助同步登录态以及指定跳转这两种能力,则可以进行进一步能力扩展、封装。

五、能力沉淀及扩展场景

优酷“CIBN 酷喵影视”的业务量级非常大且场景相对复杂,在 APP 不断的业务迭代及能力升级过程中,扫码登录的能力也在积累沉淀。目前,“酷喵 APP”扫码登录相关能力已实现以下能力:


1)能力组件化封装:完成“同步登录态-二维码”能力封装,实现相关业务零开发,可视化平台搭建;


2)二维码收银台封装:完成“CIBN 酷喵影视”活动收银台能力封装,扫码直达付款,零开发,可视化搭建;


3)客服小蜜搭建化:借助 1,使反馈不再匿名无序,实现问题排查有“账号”可寻;


4)半屏收银台封装:全屏播放中查半屏,实现超大流量精准引导付费。


作者介绍


阿里文娱高级前端技术开发工程师魏家鲁


2020-04-04 18:07958

评论

发布
暂无评论
发现更多内容

ON1 Photo RAW 2024 for Mac(照片编辑器)中文版

影影绰绰一往直前

基于FX构建大型Golang应用

俞凡

golang 架构

Mate Translate for Mac(翻译软件) v8.1.3激活特别版

mac

翻译软件 苹果mac Windows软件 Mate Translate

专业核磁数据处理软件MestReNova 14破解版

iMac小白

「Macos排版神器」Affinity Publisher for Mac中文直装版

彩云

Affinity Publisher

Jenkins 打包shell出现gradle命令不存在,jvm内存溢出

javaNice

Java jenkins

亚马逊Lightsail:云服务新篇章,轻松开启您的数字未来

熬夜磕代码、

亚马逊云 AWS Lightsail

DAPP代币燃烧铸币质押挖矿系统开发(源码搭建)

l8l259l3365

jdk8 Stream流中将集合转成map,重复key处理,统计最大值,获取某个属性集合等10种最常用方法

javaNice

Java stream

SQL INSERT INTO 语句详解:插入新记录、多行插入和自增字段

小万哥

MySQL 数据库 sql 程序员 后端开发

menubarx for mac(强大的菜单栏浏览器工具)v1.6.5直装版

影影绰绰一往直前

Modern CSV for mac(适用于Mac的CSV文件编辑器)

iMac小白

高性价比的轻量应用服务器

Hanson

目前为止BRC-20是炒作还是泡沫

币离海

BRC-20 铭文

Kubernetes成本优化

俞凡

Kubernetes

ClickCharts for Mac(轻量级思维导图软件)v8.67激活版

影影绰绰一往直前

MacOS数据库:Navicat Premium 15 for Mac中文破解版

影影绰绰一往直前

iShowU Studio 2 for mac(屏幕录像编辑工具)v2.3.12注册激活版

影影绰绰一往直前

Coherence X for Mac「网站转换为Mac应用」

彩云

Coherence X

SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法

小万哥

MySQL sql 程序员 后端 开发

Topaz DeNoise AI for Mac(图片降噪软件) v3.7.2完美激活版

mac

苹果mac Windows软件 图片降噪软件 Topaz DeNoise AI

Rocket Typist pro for mac(文本快速输入工具)v3.0.8激活版

影影绰绰一往直前

Amazon EC2的出现,是时代的选择了它,还是它选择了时代

淼.

iTubeGo for Mac(网页视频下载软件)完美激活版

mac

视频下载工具 苹果mac Windows软件 iTubeGo

Coherence X for mac(将网站转变为Mac应用程序)v4.5.2激活版

影影绰绰一往直前

文心一言 VS 讯飞星火 VS chatgpt (138)-- 算法导论11.4 2题

福大大架构师每日一题

福大大架构师每日一题

Rhino 8 for Mac「犀牛 3D建模工具」

繁星

犀牛3D建模软件 3d建模 Rhino 8

Charles for Mac中文破解版下载

影影绰绰一往直前

Redis缓存雪崩、击穿、穿透解释及解决方法,缓存预热,布隆过滤器 ,互斥锁

javaNice

Java redis

JProfiler 14 序列号激活 附 完整安装教程

繁星

JAVA开发 JProfiler 14

Topaz Photo AI for Mac(图像处理AI软件) 2.1.2激活版

iMac小白

OTT 端登录态设备穿透:扫码登录与反登录_文化 & 方法_阿里巴巴文娱技术_InfoQ精选文章