网页授权获取用户基本信息
(→不弹出授权页面的快速授权流程) |
|||
第5行: | 第5行: | ||
===不弹出授权页面的快速授权流程=== | ===不弹出授权页面的快速授权流程=== | ||
在粉丝服务平台中,用户跳转到第三方H5页面后,很多时候第三方仅仅想获取到用户的uid信息,并且不希望弹出授权页面从而提高转化率;在这种情况下,第三方可以通过加入snsapi_base应用授权作用域参数来使用不弹出授权页面的快速授权流程: | 在粉丝服务平台中,用户跳转到第三方H5页面后,很多时候第三方仅仅想获取到用户的uid信息,并且不希望弹出授权页面从而提高转化率;在这种情况下,第三方可以通过加入snsapi_base应用授权作用域参数来使用不弹出授权页面的快速授权流程: | ||
+ | |||
1. 使用snsapi_base(不弹出授权页面,直接跳转,只能获取用户uid)这个scope来引导需要授权的用户到如下地址 | 1. 使用snsapi_base(不弹出授权页面,直接跳转,只能获取用户uid)这个scope来引导需要授权的用户到如下地址 | ||
第12行: | 第13行: | ||
如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE | 如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE | ||
− | + | 需要特别注意的是:第三方需要通过UA判断用户来自PC端还是来自移动端; | |
+ | 如果用户来自移动端,则需要使用open.weibo.cn上的授权接口,并且添加下display=mobile参数,调用地址如下: | ||
+ | <pre> | ||
+ | https://api.weibo.cn/oauth2/authorize?client_id=YOUR_CLIENT_ID&display=mobile&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&scope=snsapi_base | ||
+ | </pre> | ||
2014年5月21日 (三) 18:56的版本
常规授权流程
新浪微博支持OAuth2.0授权流程,具体请参考 授权机制
不弹出授权页面的快速授权流程
在粉丝服务平台中,用户跳转到第三方H5页面后,很多时候第三方仅仅想获取到用户的uid信息,并且不希望弹出授权页面从而提高转化率;在这种情况下,第三方可以通过加入snsapi_base应用授权作用域参数来使用不弹出授权页面的快速授权流程:
1. 使用snsapi_base(不弹出授权页面,直接跳转,只能获取用户uid)这个scope来引导需要授权的用户到如下地址
https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&scope=snsapi_base
如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE
需要特别注意的是:第三方需要通过UA判断用户来自PC端还是来自移动端; 如果用户来自移动端,则需要使用open.weibo.cn上的授权接口,并且添加下display=mobile参数,调用地址如下:
https://api.weibo.cn/oauth2/authorize?client_id=YOUR_CLIENT_ID&display=mobile&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&scope=snsapi_base
2. 用code换取Access Token
开发者请注意,这里通过code换取的网页授权access_token,与 申请消息接口 中“第三步:成为开发者,获取access_token”中的access_token是不同的; 第三方可通过下述接口来获取网页授权access_token。 但是如果scope=snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了uid,snsapi_base式的网页授权流程即到此为止。本步骤中获取到的网页授权access_token不具备调用其他API接口的能力。
https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
(其中client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET可以使用basic方式加入header中)
正确时返回JSON数据包如下:
{ "access_token":"ACCESS_TOKEN", "remind_in":3600, "expires_in":3600, "uid":"UID", "scope":"snsapi_base" }