返回顶部

升级OAuth2.0常见问题

说明
本文档描述了升级OAuth2.0的常见问题。关于升级OAuth的更多信息请参考《OAuth1.0升级到OAuth2.0指引

 

1 什么是OAuth2.0?

答:OAuth2.0是OAuth协议的最新版本,是较OAuth1.0更简单更安全的授权方式。同时支持Web应用,桌面应用和手机应用。是未来QQ互联最主要的用户身份验证和授权方式。

2 OAuth 2.0需要申请吗?

答:OAuth 2.0不需要额外申请,所有注册的应用都可以正常调用。

3 升级到OAuth2.0是否需要申请新的appid?

答:不需要申请新的appid,只需要使用原有的appid和appkey进行升级即可。

4 我不知道我的应用用的是1.0还是2.0,如何判断是否需要升级?

答:QQ互联为开发者提供OAuth升级检测功能,点击查看详情

5 不清楚是1.0基础上变动代码升级到2.0,还是直接接入2.0的流程?

答:QQ互联在PC、手机等平台有不同的接入形式,请根据应用的平台和接入形式选择不同的升级方法。具体方法请参考《如何从OAuth1.0升级到OAuth2.0?》。

6 怎么升级啊,升级挺麻烦的啊,参数怎么这么多啊?

答:如果您的是使用的官方SDK,则需要使用最新版的SDK进行升级,如果没有使用SDK,请参考《如何从OAuth1.0升级到OAuth2.0?》。

7 在实现OAuth2.0协议时应该注意什么?

答:建议使用QQ互联提供的SDK。如果没有合适的语言版本,请注意server-side模式的Step1中的state参数的处理:

1.在发起授权流程生成state参数时,要保证随机生成,并且尽量避免重复。例如:state= MD5(时间戳+当前帐号)。

2.生成后要和当前登录的用户进行绑定。这里建议两种实现方式:
1)把state放在用户的cookie中;
2)把state放在该用户在服务端的session里。

3.在Step1请求Authorization Code时必须传递state参数。

4.腾讯服务器在响应Step1的请求后,将重定向到开发者的服务器。此时开发者的服务器应检测state参数是否一致(即cookie或session里的state)。如果不一致,开发者的服务器应该拒绝此请求,并且不再发起换取access_token的请求。如果一致,则流程正常运行。

强烈建议开发者实现以上过程,以防止CSRF攻击。

8 升级到OAuth 2.0后原有的API还可以使用吗?

所有接口依然可以调用,但OAuth 相关的参数需要按照OAuth 2.0协议传递。并且所有接口必须以https的方式调用。具体请参考OpenAPI2.0调用说明

9 access_token过期后怎么处理?

access_token过期调用接口时,平台会返回错误码为100014的错误,此时需要引导用户重新进行授权。建议在每次获得用户授权时保存过期时间,在每次调用接口前判断用户access_token是否过期。
token过期时间为3个月。如果存储的access token过期,请重新走登录流程,通过Authentication_Code 获取新的access token值

后续access_token后续会支持自动续期,请开发者继续关注。

如果有任何疑问请联系企业QQ:800030681。