如何在Android手机中开发QQ账户登陆功能
2015-08-15 · 知道合伙人教育行家
关注
展开全部
背景
OAUTH开发授权协议,为用户资源的授权提供了一个安全开放而又简易的标准。可以使用第三方的账户登陆另一个方的应用或服务,而不暴露给另一个应用该账户的信息。现在已经得到广泛的应用,比如我们在互联网上可以看到很多服务可以通过第三方账号登录,这样既避免了用户注册的麻烦,也可以使用第三方的资源。
开发流程
一. QQ登录目前采用OAuth2.0标准协议来进行用户身份验证和获取用户授权。整个流程如
下所述,这里比如一个应用A可以使用QQ账户登陆。
1. 用户访问客户端的应用,试图操作用户存放在服务提供方的资源。比如用户用QQ账户登
录应用A程序,同时可以获得用户昵称头像等保存在腾讯服务器的用户信息。
2. 输入QQ账号后,应用A后向服务提供方(腾讯) (Request Token)。 请求一个临时令
牌
3. 服务提供方(腾讯)(应用A)的身份后,授予一个临时令牌。验证客户端
4. 客户端(应用A)获得临时令牌后,将用户引导至服务提供方(腾讯)的授权页面请求用户授
权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方(腾讯)。
5. 用户在服务提供方(腾讯)的网页上输入用户名和密码,然后授权该客户端(应用A)访问所
请求的资源。
6. 授权成功后,服务提供方(腾讯)引导用户返回到客户端(应用A)提供的回调页面。 7. 客户端(应用A)根据临时令牌从服务提供方(腾讯)那里获取访问令牌 (Access Token)。 8. 根据访问令牌 (Access Token)获得对应用户身份的openid,
9. 然后客户端(应用A)根据访问令牌 (Access Token)与openid调用OpenAPI,来请求访问
或修改用户授权的资源(比如昵称用户头像等经过用户授权的信息)。
10.拿到访问令牌 (Access Token)之后,客户端(应用A)可以保存起来,下次就不用再向服务
提供方(腾讯)请求授权,直接就可以使用该账户授权的资源,相当于保存了用户名和密码,但是真正的用户名和密码客户端(应用A)并不知道。
比如一个信息发布的网站,可以使用QQ账号登录,用户通过安全页面输入QQ账号信息后显示登陆成功,同时询问用户是否允许该网站使用用户的一些信息,比如资料,相册等,经过用户确认后该网站可以拿到用户授权的信息。同时拿到访问令牌 (Access Token),以后该网站就可以用这个访问获得该用户的这些授权信息,而不需要再次输入账户信息。一般该网站也要提供删除这个访问令牌的入口。这样就可以很方便的把用户愿意提供的信息拿到这个信息发布网站使用,而用户不需要再次登记录入。
二.QQ 为Android移动设备开发提供QQ登陆的开发包,对上述的过程进行的封装,对开发者
来说可以方便的使用。要真正开发一个使用QQ账户登录的App,就需要在腾讯社区开放平台注册应用,申请对应的appid和appkey,这个开发App时候要用到。 1.可以在腾讯开放API站点下载最新的QQ登录API库文件和Demo。
2.下载后的Demo工程如下,导入了库文件tencent_openap
OAUTH开发授权协议,为用户资源的授权提供了一个安全开放而又简易的标准。可以使用第三方的账户登陆另一个方的应用或服务,而不暴露给另一个应用该账户的信息。现在已经得到广泛的应用,比如我们在互联网上可以看到很多服务可以通过第三方账号登录,这样既避免了用户注册的麻烦,也可以使用第三方的资源。
开发流程
一. QQ登录目前采用OAuth2.0标准协议来进行用户身份验证和获取用户授权。整个流程如
下所述,这里比如一个应用A可以使用QQ账户登陆。
1. 用户访问客户端的应用,试图操作用户存放在服务提供方的资源。比如用户用QQ账户登
录应用A程序,同时可以获得用户昵称头像等保存在腾讯服务器的用户信息。
2. 输入QQ账号后,应用A后向服务提供方(腾讯) (Request Token)。 请求一个临时令
牌
3. 服务提供方(腾讯)(应用A)的身份后,授予一个临时令牌。验证客户端
4. 客户端(应用A)获得临时令牌后,将用户引导至服务提供方(腾讯)的授权页面请求用户授
权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方(腾讯)。
5. 用户在服务提供方(腾讯)的网页上输入用户名和密码,然后授权该客户端(应用A)访问所
请求的资源。
6. 授权成功后,服务提供方(腾讯)引导用户返回到客户端(应用A)提供的回调页面。 7. 客户端(应用A)根据临时令牌从服务提供方(腾讯)那里获取访问令牌 (Access Token)。 8. 根据访问令牌 (Access Token)获得对应用户身份的openid,
9. 然后客户端(应用A)根据访问令牌 (Access Token)与openid调用OpenAPI,来请求访问
或修改用户授权的资源(比如昵称用户头像等经过用户授权的信息)。
10.拿到访问令牌 (Access Token)之后,客户端(应用A)可以保存起来,下次就不用再向服务
提供方(腾讯)请求授权,直接就可以使用该账户授权的资源,相当于保存了用户名和密码,但是真正的用户名和密码客户端(应用A)并不知道。
比如一个信息发布的网站,可以使用QQ账号登录,用户通过安全页面输入QQ账号信息后显示登陆成功,同时询问用户是否允许该网站使用用户的一些信息,比如资料,相册等,经过用户确认后该网站可以拿到用户授权的信息。同时拿到访问令牌 (Access Token),以后该网站就可以用这个访问获得该用户的这些授权信息,而不需要再次输入账户信息。一般该网站也要提供删除这个访问令牌的入口。这样就可以很方便的把用户愿意提供的信息拿到这个信息发布网站使用,而用户不需要再次登记录入。
二.QQ 为Android移动设备开发提供QQ登陆的开发包,对上述的过程进行的封装,对开发者
来说可以方便的使用。要真正开发一个使用QQ账户登录的App,就需要在腾讯社区开放平台注册应用,申请对应的appid和appkey,这个开发App时候要用到。 1.可以在腾讯开放API站点下载最新的QQ登录API库文件和Demo。
2.下载后的Demo工程如下,导入了库文件tencent_openap
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询