首页 > 作文

vivo帐号登录

更新时间:2023-03-15 09:50:56 阅读: 评论:0

定点跳伞-手机型号在哪里查

vivo帐号登录
2023年3月15日发(作者:离婚的流程)

目录

1简介...............................................................................................错误!未定义书签。

1.1缩略语和术语........................................................................................错误!未定义书签。

2接入前准备...................................................................................错误!未定义书签。

2.1申请APPID和APPKEY......................................................................错误!未定义书签。

2.1.1应用联运接入帐号.....................................................................错误!未定义书签。

2.1.2快应用接入帐号.........................................................................错误!未定义书签。

2.2SDK导入...............................................................................................错误!未定义书签。

3必要说明.......................................................................................错误!未定义书签。

3.1应该选择哪种授权模式........................................................................错误!未定义书签。

4账户授权功能接入.......................................................................错误!未定义书签。

4.1授权码/标准授权方式..........................................................................错误!未定义书签。

4.1.1客户端调用SDK获取授权码Code【Client对接】...............错误!未定义书签。

4.1.2应用服务器根据code获取AccessToken和RefreshToken【服务器对接】.错误!

未定义书签。

4.1.3根据AccessToken获取用户授权信息【服务器对接】..........错误!未定义书签。

4.1.4根据RefreshToken获取新AccessToken【服务器对接】....错误!未定义书签。

4.2简化授权方式——不推荐....................................................................错误!未定义书签。

5账户开放功能功能接入...............................................................错误!未定义书签。

5.1通过AccessToken获取用户信息【Client对接】..............................错误!未定义书签。

5.2编译防混淆方法....................................................................................错误!未定义书签。

6附录-服务器签名算法..................................................................错误!未定义书签。

6.1MD5签名...............................................................................................错误!未定义书签。

6.2MD5签名工具.......................................................................................错误!未定义书签。

7FAQ................................................................................................错误!未定义书签。

1简介

本文档描述了vivo授权接口的使用说明。

1.1缩略语和术语

缩略语/术语全称说明

clientid第三方服务IDclient_id是vivo标识对第三

方的唯一性标识,就是在接入

前申请的appid做为clientid

clientcret第三方服务器密钥第三方访问vivo的密钥,用

于签名,不能在公网中传输,

在接入前申请的appkey做为

clientcret

accesstoken访问令牌在用户授权许可下,授权服务

器下发给客户端的一个授权

凭证,可以用accesstoken获

取用户授权的信息

refreshtoken刷新令牌刷新令牌的作用在于更新访

问令牌,访问令牌的有效期一

般较短,这样在访问令牌失效

时,可以利用刷新令牌去授权

服务器换取新的访问令牌,是

否需要该令牌是由第三方自

行选择

redirecturi回调地址回调地址作用主要体现在PC

端接入授权:

OAuth2.0是一类基于回调的

授权协议,在授权码模式中,

整个授权需要分为两步进行,

第一步下发授权码,第二步根

据第一步拿到的授权码请求

授权服务器下发访问令牌。

OAuth在第一步下发授权码

时,是将授权码以参数的形式

添加到回调地址后面,并以

302跳转的形式进行下发

一般回调地址都是根据H5自

身的业务配置,如果某个业务

仅仅有apk,而没有PC端的

缩略语/术语全称说明

授权业务,可以简单配置为该

公司的相关主域名

注意:开发者平台里面“回调

地址”需要填写回调域名,而

不是具体的回调地址,回调域

名必须严格是scheme:host形

式,不能加路径。https和http

是不同scheme,不可混用。

eg:

可用于配置开发者平台。

而不可以配置在开发者平台

接入vivo第三方授权之前,需要提前申请APPID、APPKEY、回调地址(redirectUrl),申请流

程详见2.1

2接入前准备

2.1申请APPID和APPKEY

2.1.1快应用接入帐号

➢联系与您对接的商务(对内直接联系张秋云),说明需要接入vivo帐号的快应

用。

➢提供您的快应用名称,快应用包名,开发者平台帐号,快应用icon,回调地址

给到对应商务。

➢从商务处获取appid与appkey数据。

2.2游戏接入方式

不需要接任何SDK,直接调用API即可:

3必要说明

3.1应该选择哪种授权模式

我们提供了授权码/标准模式、简化模式两种方案供开发者选择。

(1)授权码模式/标准模式(authorizationcode)是功能最完整、流程最严密的授权模式。

它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。

(2)简化模式(implicitgranttype)不通过第三方应用程序的服务器,直接在浏览器中向认

证服务器申请令牌,跳过了"授权码"这个步骤,因此得名。所有步骤在浏览器中完成,令牌

对访问者是可见的,且客户端不需要认证。

这两类模式各有自己的应用场景,在选择上除非您的应用没有服务端,否则我们强烈建议你

选择使用授权码模式授权。

相对于简化模式来说,虽然授权码模式多了一次请求,但是在授权码模式下可以基于

clientcret来验证APP的真实性,同时授权码模式会下发刷新令牌,当访问令牌过期时可

以通过刷新令牌在后台静默更新访问令牌,而无须再次让用户授权。

4账户授权功能接入

账户SDK提供了标准授权和简化授权两种方式

4.1授权码/标准授权方式

标准授权方式,授权SDK给应用返回授权Code,应用需要将Code传给应用自己的业务服务

器,业务服务器再访问账户服务器获以获取AccessToken和RefreshToken

1.标准授权方式流程图如下:

应用账户SDK应用服务器账户服务器

1、调用RequestCode

2、返回code

3、客户端请求业务服务器,带上code

4、业务服务器请求账户服务器

5、账户服务器返回AccessToken和RefreshToken

6、应用服务器返回AccessToken

应用服务器妥善保

存RefrshToken

2.标准模式下用户信息获取流程图:

应用应用服务器账户服务器

1、利用AccessToken请求用户信息

2、利用AccessToken获取用户信息

AccessToken是否有效

[token无效]

[token有效]

3、账户服务器返回AccessToken失效

3-1、账户服务器返回用户信息3-2、业务服务器返回用户信息

4、利用RefreshToken刷新AccessToken

RefreshToken是否有效

[Refreshtoken有效]

[Refreshtoken无效]

5-2、业务服务器返回用户信息失效(应用需重新授权)

6、账户服务器返回RefreshToken和AccessToken

重新走流程2、利用AccessToken获取用户信息

5-1、账户服务器返回RefreshToken失效

4.1.1客户端调用SDK获取授权码Code【Client对接】

小游戏官方API文档:

4.1.2应用服务器根据code获取AccessToken和RefreshToken【服务器

对接】

用户在授权页同意授权后,客户端会生成一个授权认证码code,应用需要将code传递给应用

自己的服务器,由服务器获取AccessToken和RefreshToken,并将AccessToken返回给客户端。

备注:以下接口都是post请求,要设置成表单形式提交,参数放在url后面即可

请求头设置:Content-Type:application/x-www-form-urlencoded;chart=utf-8

接口说明

请求消息

协议类型:HTTPS(POST请求)

数据格式:Text

服务URL:

消息方向:第三方服务->账户系统

请求参数:

参数参数名称类型必填参数说明

基本参数

timestamp时间戳

long是

请求的当前时间戳,时

间戳和服务器时间戳进

行校正过,时间戳是自

1970年1月1日

(00:00:00GMT)以来

的毫秒数

nonce随机字符串String是随机字符串

sign签名

String是

签名【附录有关于签名

的算法的详细说明】

业务参数

client_id第三方服务唯一

标识String是

vivo账户系统用来识别

第三服务,由vivo分配

给第三方服务

code授权认证码String是授权认证码

grant_type授权类型

String是

固定值:

authorization_code

redirect_uri授权认证成功后,

重定向第三方服

务URL

String否

授权认证成功后,重定

向URL需要进行

UrlEncoder

scope授权范围

String否

scope不填默认为

ur_bainfo,表示静

默授权的,用户无感

知。多个授权用“|”分

示例:

响应消息:

{"expires_in":3600,"access_token":"33145fb20aa24bbdd54a8ffeecc63130",

"state":"200","refresh_token":"33bada653235"}

返回状态:

状态码提示信息

"4000"无效的请求,如签名不通过,请求过期

"4001"未授权

4.1.3根据AccessToken获取用户授权信息【服务器对接】

根据AccessToken获取用户授权的信息——服务器会验证AccessToken的合法性,当

AccessToken合法时,返回的信息包括头像、昵称、用户的唯一标识openid,AccessToken有

效期24小时。

接口说明

请求消息

协议类型:HTTPS(get请求)

数据格式:Text

服务URL:

消息方向:第三方服务->账户系统

请求参数:

参数参数名称类型必填参数说明

基本参数

timestamp时间戳

long是

请求的当前时间戳,时

间戳和服务器时间戳进

行校正过,时间戳是自

1970年1月1日

(00:00:00GMT)以来

的毫秒数

nonce随机字符串String是随机字符串

sign签名String是签名,签名规则见附录

业务参数

client_id第三方服务唯一

标识

String是

vivo账户系统用来识别

第三服务,由vivo分配

给第三方服务,client_id

就是申请的APPID

access_token授权令牌String是授权令牌

scope授权范围

String否

scope不填默认为

ur_bainfo,表示静

默授权的,用户无感

知。多个授权用“|”分

示例:

响应消息:

{

"avatar":"http://***/web/images/online/banner_",

"nickname":"zhangwtest",

"openid":"29fd78ff8b65eaef",

"state":"200"

}

返回状态:

状态码提示信息

"4000"请求无效

"5001"Token过期

"5002"授权不足

"5003"Token无效

4.1.4根据RefreshToken获取新AccessToken【服务器对接】

AccessToken有效期是24小时,当AccessToken过期后可用RefreshToken获取新的

AccessTokent和RefreshToken,原有的AccessTokent和RefreshToken会失效

接口说明

请求消息

协议类型:HTTPS(POST请求)

数据格式:Text

服务URL:

消息方向:第三方服务->账户系统

请求参数:

参数参数名称类型必填参数说明

基本参数

timestamp时间戳

long是

请求的当前时间戳,时

间戳和服务器时间戳进

行校正过,时间戳是自

1970年1月1日

(00:00:00GMT)以来

的毫秒数

nonce随机字符串String是随机字符串

sign签名

String是

签名【附录有关于签名

的算法的详细说明】

业务参数

client_id第三方服务唯一

标识String是

vivo账户系统用来识别

第三服务,由vivo分配

给第三方服务

code授权认证码String是默认先传1

grant_type授权类型

String是

固定值:

authorization_code

redirect_uri授权认证成功后,

重定向第三方服

务URL

String是

授权认证成功后,重定

向URL需要进行

UrlEncoder

scope授权范围

String是

scope不填默认为

ur_bainfo,表示静

默授权的,用户无感

知。多个授权用“|”分

refresh_token刷新accesstoken

使用,上一步接口

返回

String是

刷新accesstoken使用,

上一步接口返回

示例:

响应消息:

{

"access_token":"",

"refresh_token":"zhangwtest",

"expires_in":3600,

"state":"200"

}

状态码提示信息

"4000"请求无效

"4001"Token过期

4.2简化授权方式——不推荐

3.简化模式获取AccessToken流程图

简化模式SDK直接返回AccessToken给应用,不需要经过业务服务器【请慎重考虑】。

应用账户SDK

1、调用RequestAccessToken获取AccessToken

2、SDK返回AccessToken

4.简化模式获取用户信息

应用应用服务器账户服务器

1、利用AccessToken请求用户信息

2、利用AccessToken获取用户信息

AccessToken是否有效

[token无效]

[token有效]

4-1、账户服务器返回AccessToken失效

3-1、账户服务器返回用户信息3-2、业务服务器返回用户信息

4-2、业务服务器返回AccessToken失效

代码示例:

stAccessToken(newOauthCallback(){

@Override

publicvoidonStartLoading(){

//授权开始,应用可在此处显示loading圈

}

@Override

publicvoidonResult(OauthResultresult){

}

@Override

publicvoidonEndLoading(){

//授权结束,应用可在此处关闭loading圈

}

});

OauthResult说明:

参数说明

statusCode授权的结果:

200:授权成功

12:用户取消授权(取消登录时不会有此回

调)

13:授权失败-网络无法连接

14:授权失败-其他错误

accesstoken;授权AccessToken

expireInAccessToken的有效期,单位是秒

当应用接收回调或者退出当前页面时,需要解注册Listener,方法如下:

isterOauthCallback();

总结:简化授权模式流程简单,适用于没有业务服务器的应用,安全性比较弱

5使用授权登录的解决方案

以下整理的是通用的第三方授权登录解决方案,与vivo账号授权无关,仅供应用参考:

方案一【授权码模式、简化模式都适用】

思想:应用建立自己的ID与vivo的openid进行绑定,步骤如下:

(1)应用拿到AccessToken后,调用业务服务器获取用户信息(调用vivo账户服务器),如果校验通

过,则执行步骤2,否则返回失败。

(2)根据vivo的openid去业务数据库查阅,如果没有账户,则生成新的账户并与vivo的openid建立映射

关系;如果有账户,就返回已有的账户信息给客户端,应用同时可以生成自己的登录态,以便应用后续进行

合法性判别。

优点:授权成功之后,业务就不再依赖vivo账号。

方案二【适用于授权码模式】

思想:假设用户已经获得授权,则下次登录时只需要验证AccessToken是否有效,无效则重新获取授权,

有效则无需重新获得授权,步骤如下:

(1)用户向自己的服务器请求登录,登录方式为vivo登录,附带上次登录返回的的AccessToken

(2)应用服务器收到用户的登录请求,向vivo账号服务器发送AccessToken是否有效的验证请求如下:

如果AccessToken有效,服务端将信息返回给客户端,客户端成功登录。

如果AccessToken无效,服务端可尝试利用RefreshToken刷新到新的AccessToken重新验证,验证成

功则登录成功,否则登录失败。

注:RefreshToken拥有较长的有效期(30天),当RefreshToken失效的后,需要用户重新授权。

6附录-服务器签名算法

6.1MD5签名

1、生成待签名的字符串

在请求参数中,除去签名参数(即sign),把其它的参数按照字段的顺序排序,排序完成

后再把所有的参数用&符号连接起来,这样就完成了待签名的字符串。

2、签名

目前暂只支持MD5签名。

MD5是一种摘要生成算法,通过在签名原始串后加上第三方的CientSecret(接入前申请的

APPKEY)密钥的内容,进行MD5运算,形成的摘要字符串即为签名结果。

第三方可以使用提供的工具类把所有请求所求参数放到Map中生成paraMap,用第三方服务

申请的client_id(接入前申请的APPID)对应的client_cret(接入前申请的APPKEY)作为签名密

钥,调用PartnerSignUtil的sign方法生成生成签名作为参数放在url后即可!

如client_cret:4e53b6bf60659bf3c2d1b9

sign=MD5(text+client_cret)=("client_id=c1ebe4661cdc4bd3ab6977c3561b9dee&code=386cdb37

4ad63fd05b2a22b&grant_type=authorization_code&nonce=08ad5f076cd9a5879fd741f5×tam

p="+"4e53b6bf60659bf3c2d1b9")

/**

*签名字符串

*@paramparaMap需要签名的参数Map

*@paramkey签名的密钥

*@return签名结果

*/

publicstaticStringsign(MapparaMap,Stringkey)

{

StringsaltValue=key;

return(paraMap,saltValue,SIGNATURE);

}

6.2MD5签名工具

7FAQ

1、接入了SDK,为什么都是H5登录

答:授权SDK会根据vivo手机内置的账户apk版本决定使用H5登录还是Native登录。当

没有账户apk或者账户apk版本过低时,采用H5登录

本文发布于:2023-03-15 09:50:54,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678845056262753.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:vivo帐号登录.doc

本文 PDF 下载地址:vivo帐号登录.pdf

相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图