QQ互联

移动应用接入概述

  QQ互联开放平台为第三方移动应用提供了丰富的API。第三方移动应用接入QQ互联开放平台后,即可通过调用平台提供的API实现用户使用QQ账号登录移动应用功能,且可以获取到腾讯QQ用户的相关信息

  第三方移动应用也可以调用腾讯方提供的API实现移动应用的分享、评论、邀请等功能,即移动应用的社交化功能。且可以将相关信息同步到QQ空间、腾讯朋友、腾讯微博等平台,建立移动应用与腾讯各平台的互动关系,利用庞大的QQ用户群来实现移动应用的快速传播。

移动应用接入流程

 1、在 http://connect.qq.com/ 注册开发者,填写公司或个人相关资料。

 2、移动应用申请。移动应用接入前,需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对移动应用与用户进行验证与授权。如果您的PC应用已经接入腾讯开放平台,则不需要重新获得appid与appkey,只需使用接入腾讯开放平台时获得的appid,即可添加为移动应用。

 3、应用的信息分为信息编辑 | API管理 | 数据统计,另外包含appid、appkey。编辑中包含对应用图标的提供,应用各平台的信息。

 4、获取并存储access token以及openid,成功登录后,即可发送请求来获取access token以及openid,这两个参数在调用OpenAPI访问和修改用户数据时必须传入,移动应用需自行绑定或存储:

(1)access token用来判断用户在本移动应用上的登录状态,具有3个月有效期,用户再次登录时自动刷新
(2)openid是此移动应用上唯一对应用户身份的标识,移动应用可将此ID进行存储便于用户下次登录时辨识其身份,或将其与用户在移动应用上的原有账号进行绑定

iOS_SDK环境搭建

  登录成功后,即可获取到access token和openid。accessToken和 openid保存在TencentOAuth对象中。可以通过相应的属性方法直接获得。

  第三方网站可存储access token信息,以便后续调用OpenAPI访问和修改用户信息时使用。如果需要保存授权信息,需要保存登录完成后返回的accessToken,openid 和 expirationDate三个数据,下次登录的时候直接将这三个数据是设置到TencentOAuth对象中即可。

[_tencentOAuth accessToken] ;
[_tencentOAuth openId] ;
[_tencentOAuth expirationDate] ;

[_tencentOAuth setAccessToken:accessToken] ;
[_tencentOAuth setOpenId:openId] ;
[_tencentOAuth setExpirationDate:expirationDate] ;

  建议应用在用户登录后,即调用getUserInfo接口获得该用户的头像、昵称并显示在界面上,使用户体验统一。

OAuth2.0简介

   OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。

  QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。

  在认证和授权的过程中涉及的三方包括:
    1、服务提供方,用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。
    2、用户,存放在服务提供方的受保护的资源的拥有者。
    3、客户端,要访问服务提供方资源的第三方应用,通常是网站,如提供照片打印服务的网站。在认证过程之前,客户端要向服务提供者申请客户端标识。
  使用OAuth进行认证和授权的过程如下所示:
    1、用户访问客户端的网站,想操作用户存放在服务提供方的资源。
    2、客户端向服务提供方请求一个临时令牌。
    3、服务提供方验证客户端的身份后,授予一个临时令牌
    4、客户端获得临时令牌后,将用户引导至服务提供方的授权页面请求用户授权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方。
    5、用户在服务提供方的网页上输入用户名和密码,然后授权该客户端访问所请求的资源。
    6、授权成功后,服务提供方引导用户返回客户端的网页。
    7、客户端根据临时令牌从服务提供方那里获取访问令牌。
    8、服务提供方根据临时令牌和用户的授权情况授予客户端访问令牌。
    9、客户端使用获取的访问令牌访问存放在服务提供方上的受保护的资源。
 
 
原文地址:https://www.cnblogs.com/tekkaman/p/3676580.html