OpenID说明

一、OpenID介绍

字段类型:字符型

功能说明:OpenID,它是用户的唯一标识,根据APPID以及天翼账号用户标识生成,即不同的APPID下,同一个天翼账号用户标识生成的OpenID是不一样的,一个用户在同一个应用中多次反复授权/取消授权时,平台为用户只分配一个OpenID,以便于应用了解用户情况。

使用场景:第三方应用使用天翼账号登录时,需要将第三方应用账号与天翼账号进行账号绑定。第三方应用基本逻辑如下:

1. 应用验证此OpenID是否已经与本身应用帐号绑定,如果已经绑定,用可用天翼账号直接登录第三方应用; 

2. 若此OpenID未与应用账号绑定,可以让用户选择绑定帐号(第三方自身应用账号可能多个);若用户未创建过应用的帐号,可以自动为用户创建帐号或者引导用户注册帐号。用户进行绑定后,将OpenID与此应用帐号绑定。

3. 第三方应用需要存储OpenID与应用帐号之间的对应关系,该用户下次访问时可以通过OpenID取出对应的帐号,帮助用户登陆。

如何获取:可通过能力开放平台提供的如下接口进行获取openid:

授权接口,具体参见(http://open.189.cn/index.php?m=content&c=index&a=lists&catid=61)通过IG/AC模式下进行获取openid。

1)AC模式获取
请求范例:
https://oauth.api.189.cn/emp/oauth2/v3/authorize?app_id=1234567890&redirect_uri=http://www.example.com/oauth_redirect&response_type=code
成功应答范例:天翼开放平台将用户浏览器重定向至redirect_uri,并返回用户ID及AC授权码。
1)IG模式获取
请求范例:
https://oauth.api.189.cn/emp/oauth2/v3/authorize?app_id=1234567890&app_secret=abcdefghijk&redirect_uri=http://www.example.com/oauth_redirect&response_type=token
成功应答范例:天翼开放平台将用户浏览器重定向至redirect_uri,并直接返回AT访问令牌

 

二、天翼账号认证(OAuth)接口改造说明

老版本的天翼账号认证(OAuth)接口将于6月30日,停止使用。如果您的程序中调用了老版本的天翼账号认证(OAuth)接口,则需要在2013年6月30日前完成应用改造。

改造时需要(第三方应用)做如下的工作:

1.第三方系统中有使用如下接口的:

https://oauth.api.189.cn/emp/oauth2/authorize,

https://oauth.api.189.cn/emp/oauth2/access_token,

https://oauth.api.189.cn/emp/oauth2/logout

这三个接口的地址分别升级为v2版本,地址分别如下:

https://oauth.api.189.cn/emp/oauth2/v2/authorize,

https://oauth.api.189.cn/emp/oauth2/v2/access_token,

https://oauth.api.189.cn/emp/oauth2/v2/logout

这三个接口的地址分别升级为v3版本,地址分别如下:

https://oauth.api.189.cn/emp/oauth2/v3/authorize,

https://oauth.api.189.cn/emp/oauth2/v3/access_token,

https://oauth.api.189.cn/emp/oauth2/v3/logout

 

2.接口中原接口返回puser_id参数的全部替换为open_id,其他参数不变。

3.对于原来接口中获取puserid的值需要转换为openid,通过如下接口进行转换:https://oauth.api.189.cn/emp/oauth2/get_open_id?app_id=xxxxx&p_user_id=xxxxx&redirect_uri=xxxxx

三、常见问题分享

1.什么是OpenID?

OpenID,它是用户的唯一标识,根据APPID以及天翼账号用户标识生成,即不同的APPID下,同一个天翼账号用户标识生成的OpenID是不一样的。

2.OpenID是否唯一?

OpenID根据应用标识(APP_ID)以及旧有的用户标识(P_USER_ID)生成,在每个应用中都是唯一,作为用户的唯一标识。

3.是否能通过OpenAPI直接获取用户手机号?

不能。用户在应用中的唯一标识是OpenID,天翼开放平台不提供用户的手机号。