童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

API接口入门(三):用户授权流程原理

8月4日 相见欢投稿
  本文通俗易懂地剖析用户授权的设计原理和四种授权模式,重点介绍授权码登录模式,适合阅读的人群:开放平台第三方合作的产品经理,初入职场的产品经理。
  1。应用场景
  我们每个人都遇到过授权登录的环节,授权登录的应用无孔不入,可能你是在授权应用权限,或是授权账户登录,或是授权个人信息。
  我们常见的应用场景一般有以下:
  新安装应用:授权获取存储空间,设备信息等(手机原生弹窗)
  支付宝授权登录淘宝:授权使用支付账户登录淘宝APP(淘宝原生页面)
  微信打开美团外卖:授权获取你的头像和地理位置(微信原生弹窗)
  因而授权登录是应用间交互的重要且广泛的步骤,深入了解过其中的原理很有必要。
  2。授权登录是什么?
  以美团外卖授权获取你的头像和地理位置为例:
  头像和地理位置属于你的个人信息,如需要传输,必须经得本人的同意,法律不允许默认传输。
  授权登录是经得资源所有者(亦即是用户)同意,服务提供商(亦即是微信,他为你提供授权服务)提供授权服务和应用方(他来使用你的授权)使用授权的过程。
  字面意思就是如下图流程:
  值得关注的是第3步和第4步:当你在授权的过程中,实则是你和微信的直接交互,与美团外卖小程序无关。
  亦即是:你是跟微信同意授权,也是微信接收到你的“同意”的指令,即使在网站用微信登录也是如此,如豆瓣登录,需要微信扫描二维码,确保授权动作保留和发生在微信自己的环境内。
  3。授权登录的模式
  那么从形式来说,授权登录可以分为静默授权和手动授权两种模式:
  静默授权:一般是用于获取一些类似于用户ID的信息,比如每个用户在微信的ID被称为openid,这种ID只是用户的唯一身份认证(相当于编号),不包含个人信息,应用获取openid并不能分析出你的手机号和身份证号这些个人信息。显然,很多用户都不知道openid是什么,总不能弹个弹窗问用户“你是否同意传输openid”吧。因而这类传输,用户是无感的,用户只需访问了某个页面,后台会向微信请求拿到你的openid。
  手动授权:这种亦即是我们上文提到的用户场景,这类型场景需要获取的信息是你的个人信息,比如头像,昵称,手机号和地址等等。这些个人信息是必须经过用户手动点击同意的。
  4。OAuth2原理及剖析
  以上第2点是授权的基本简化,本节是更重点介绍OAuth2的系统链路流程(无论是静默或是手动,系统链路一致,只是形式的区分)。目前市面上涉及授权,权限申请的业务均通过OAuth2的方法进行设计。
  OAuth2具体可以分为以下四种:
  授权码模式(authorizationcode)【重点】
  简化模式(implicit)
  密码模式(resourceownerpasswordcredentials)
  客户端模式(clientcredentials)
  4。1授权码模式
  其中最重要的就是第一种授权码模式,接下来我以企业微信授权码方法做解析,其流程图非常清晰。
  例子讲解:
  场景:该身份授权是用户在企业微信使用第三方应用时拉起授权页面的流程。类似于你在微信打开饿了么小程序。
  系统交互的步骤:
  用户在企业微信打开一个A应用。此时A应用通过静默推送获取到用户的userid,发现这个用户没有头像和昵称信息在A应用的数据库。
  此时,A应用调用企业微信的OAuth认证链接,这个链接要带上企业ID(表明应用方),权限获取范围(头像昵称),标记本次授权的编号(state)和授权完跳转的地址,做好链接之后,向微信发送过去。
  企业微信收到请求后,校验企业ID和授权跳转的地址是否对应。如果验证通过,企业微信会给A应用一个令牌(code),并在前端打开企业微信的授权页面(该页面由企业微信管理)。
  用户点击授权了之后,企业微信可以利用code和state向企业微信请求用户信息API,获得用户token,最终获得指定用户信息。
  同时用户点击授权后,企业微信关闭授权页,并跳转到A应用在第2步提供的跳转地址。
  4。2简化模式
  请记住第一个模式中的第(1)步和第(2)步都需要A应用处理,简化模式就是简化了第(2)步。
  以下在微信的场景仅用于举例:
  用户点击应用入口之后,微信直接让用户是否同意授权(授权的内容和触发时间提前配置好),用户点击同意。
  用户同意后,跳转到该应用在后台预留的地址,并且微信把访问令牌直接告诉应用。
  应用利用访问令牌找微信获取用户信息,完成。
  此处你有没有发现,前面授权的过程并不需要应用本身参与,这个就是比授权码模式简化的地方。但这种模式不支持用户令牌的更新,也就是用户第一次授权过期了之后,下一次又需要重新手动授权。
  4。3密码模式
  这种模式很直接,相当于你把你微信的账户密码告诉饿了么,饿了么利用你的账户密码去获取信息。这种方式极其不安全,用户的账户信息随时会被外泄。
  4。4客户端模式
  这种其实不属于授权,实则就是两个应用间直接进行信息传输,与用户无关。
  5。总结
  授权分为静默授权和手动授权,一般出现在打开应用登录的环节,应用广泛。
  授权的组件或页面必须在拥有数据的应用中,这样才能确保用户在授权页上同意协议,清晰看到传输的数据范围,以及确保用户亲手同意授权。
  授权分为四个模式,其中授权码模式是应用最广泛,最重要的模式。
  授权码模式亦即是A应用拼接企业参数向企业微信请求打开授权页面,获取用户授权码code,再利用code获得用户的token,最终获取用户信息。
  相关阅读
  API接口入门(一):读懂API接口文档
  API接口入门(一):读懂API接口文档
投诉 评论 转载

邀请好友的设计理学:“三步走”战略邀请裂变途径最大的好处是天然的客群对标,本文研究了如何利用好这种产品自身的裂变去优化邀请机制的效果。邀请是产品裂变的途径之一,也是成本低廉的自身裂变路数。抖音上众多广告买……关于列表头像设计,你了解多少?消息列表模块是大家常见的APP功能了,但是你真的了解这个功能吗?本文作者从3个角度对消息列表模块进行了分析探究,希望通过此文能够加深你对列表头像设计的认识。消息列表功能模……常见的产品非人性“套路”本文承接上一篇文章《用一些小套路,让用户离不开你的产品》,谈谈如何设置产品非人性“套路”。如何设置产品“套路”关于产品套路笔者是不推荐大量使用的,大量使用的话久而久……API接口入门(三):用户授权流程原理本文通俗易懂地剖析用户授权的设计原理和四种授权模式,重点介绍授权码登录模式,适合阅读的人群:开放平台第三方合作的产品经理,初入职场的产品经理。1。应用场景我们每个人……后台数据可视化界面设计的10条经验法则本文的英文原标题是“10RulesofDashboardDesign”,其中Dashboard如果翻译成仪表盘的话,总觉得不大容易理解,所以我在这里把它翻译为数据可视化。数据展……微信“看一看”的社交进化,数字内容生态如何升级?“一边阅读一边与好友互动”的逻辑会被证伪吗?进入12月份,不少用户发现微信“看一看”中新增了下图所示的“投票互动”,它以“热点话题”栏目出现,投票结果支持立即查看,同时支……干货2020年最佳色彩搭配组合在本文中,我们收集了2020年用于网页设计、图形设计和数字插图的一些最流行的色彩组合。黑色和黄色霓虹黄和黑色是一种非常时尚的组合,颜色组合的成功是因为它能简单地抓住……全流程风控产品设计顶层概述本文是关于全流程风控产品设计的一个顶层概述,一起来看看商户业务开展全流程一个新商户上线的过程整合为几大步骤:(1)商机录入(2)商户建档建档主要由……关于卡片式设计,你需要知道这4点在本文中,作者对卡片式设计进行了梳理:从卡片式设计的由来、到卡片式设计的各种形态和卡片式设计的优缺点,希望通过此文能够加深你对卡片式设计的认识。01卡片式设计的由来……聊聊卡片式设计的特点和使用场景卡片式设计采用图像与文字说明相结合的方式将信息传达给受众,在有限的矩形空间中建立了无限的可能性。时至今日,卡片式设计已然不是一种设计趋势,而是一种设计潮流,其影响力遍布于……运营专题高效设计法(上)企业里的设计师,既需具备艺术家的才华技能,同时还需兼顾从商业目标用户角度务实出发,两者缺一不可,前者是基本功修炼,后者是外因环境所需,今天就和大家谈谈怎样在商业环境下更好地发挥……如何建立一个旅行者会喜欢的聊天机器人?语音智能将是未来机器理解人类的关键一环,它正在发展,旅游业也将成为未来人类一项非常重要的产业。在旅途中,迎合不同人群并给出相应的解决问题是非常必要的,让机器更加理解人类,帮助人……
着磨生活馆招商路演首战告捷丨30家生活馆初步目标锁定黄新伟:为什么你的产品赚不到钱?创业之路优秀演讲稿AI文娱模式受资本追捧万面智能获数千万PreA轮融资项目路演过程中要注意什么?财商教育风口再现,铭鑫商学院完成4000万元融资企业融资的五要素作为投资人你怎么挑选屌丝创业者和独角兽创业者?股权融资和债权融资有什么区别股权融资中,创业者需要知道的事情债券融资和信贷融资的不同之处中国茶包品牌CHALI茶里最近完成亿元级B轮融资

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界