您的位置:首页 > 移动开发

TesterHome android app 编写历程(四)

2015-10-11 16:47 316 查看

摘要:

十一放假,人就变的有点松散,好久都没有写点东西了,这次的内容可能跨越度有点大,但是因为觉得内容特别有意思,所以特定提前先将这部分先写出来了。这次主要是关于Testerhome的用户登录,授权的功能

正文:

TesterHome的Api上面就只有简单一句说明:

使用标准的 OAuth 2 实现登录,获得 access_token 信息。

以及相应的请求路径。这个对于OAuth2基本不了解的我来说就犯难了,所以找到了腾讯开发平台OAuth2.0开发文档这里就说明的很详细了,我们总共就是要做两件事:

获取Authorization Code

通过Authorization Code获取Access Token

不过这里还遗留一个问题刚才的链接上面说明

适用于需要从web server访问的应用,例如Web/wap网站

移动端的app应该不是使用这种方式的,再次浏览了下腾讯开放平台的网页确实发现了使用Implicit_Grant方式获取Access_Token

按照上面的构造的url请求结果显示的是



说明TesterHome的response_type没有token这种类型。这里我只是疑惑是不是testerhomew不支持这种了。

继续往下,按照刚才的步骤我们需要获取到Authorization Code,想要获取到这个我们需要做一些准备工作-创建一个应用:

注册应用

这里我使用的应用名直接是“TesterHome”

回调地址按照提示信息的使用“urn:ietf:wg:oauth:2.0:oob”



点击提交。OK,我们已经成功的创建一个需要授权的应用了,这里面就有一个很重要的client_id以及client_secret。

好了 我们先构造第一个获取Authorization Code的URL请求吧。

https://testerhome.com/oauth/authorize?response_type=code&client_id=402e7adf&redirect_uri=urn:ietf:wg:oauth:2.0:oob



这个就是我们需要用到的授权码了。

再来通过授权码就能够获取到我们要用的accesstoken。

这里需要注意一点文档上面有一个坑,获取accesstoken的请求并不是get方法而是post。这个问题真是纠结了我好久。



这里就获取到了我们要用的access_token了。关于refresh_token是用来重新请求一个access_token不用重新登陆用的,在文档里面也有说明。

下来看看App具体的流程。(代码就不帖了。。实际上很多都是参考之前TesterHome Natvie App实现的)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: