应用中心

开放平台 > 资料库

登录接入引导

对于应用而言,其流程由获取Authorization Code和通过Authorization Code获取Access Token这2步组成。

获取Authorization Code

1. 请求数据包格式

http://passport.9211.com/oauth/login.aspx

其获取方式是通过重定向用户浏览器到上面地址,并带上以下参数:

例如:“App_id”为“10001”的应用要请求某个用户的默认权限,并在授权后需跳转到“http://www.xxxxx.com/oauth_redirect”,则应用需要重定向用户的浏览器到如下URL:

http://passport.9211.com/oauth/login.aspx?App_id=10001&response_type=code& redirect_uri =http%3A%2F%2Fwww.xxxxx.com%2Foauth_redirect

参数必选类型说明
App_idTruelong申请应用时分配的AppId
redirect_uriTrueString授权回调的地址
response_typeTrueString授权类型,固定为code

2. 响应数据包格式

此时授权服务会根据用户登录状态决定是否为用户展现登录授权页面。如果用户已授权或同意授权,授权服务则将重定向用户浏览器到应用所指定的“redirect_uri”,并附带上表示授权服务所分配的Authorization Code的code参数

例如:继续上面的例子,假设授权服务在用户同意授权后生成的Authorization Code为“ANXxSNjwQDugOnqeikRMu2bKaXCdlLxn”,则授权服务将会返回如下响应包以重定向用户浏览器到“http://www.xxxxx.com/oauth_redirect”地址上:

HTTP/1.1 200 OK
Location:
http://www.xxxxx.com/oauth_redirect?code=ANXxSNjwQDugOnqeikRMu2bKaXCdlLxn

注意:

1) “code”参数可以在“redirect_uri”对应的应用后端程序中获取。

2) 每一个Authorization Code的有效期为10分钟。

通过Authorization Code获取Access Token

1. 请求数据包格式

通过上面第一步获得Authorization Code后,便可以用其换取一个Access Token。获取方式是,应用在其服务端程序中发送请求(POST)到OAuth2.0授权服务的地址"http://openapi.5211game.com:8080/oauth/access_token"上,并带上以下5个必须参数:

参数必选类型说明
app_idTruelong申请应用时分配的AppId。
app_secretTrueString申请应用时分配的appsecret。
grant_typeTrueString请求的类型,固定填写"authorization_code"。
codeTrueString调用authorize获得的code值。
redirect_uriTrueString回调地址,需与注册应用里的回调地址一致。

例如:http://openapi.5211game.com:8080/oauth/access_token?app_id=10001& app_secret= 0rDSjzQ20XUj5itV7WRtznPQSzr5pVw2&grant_type=authorization_code&code= ANXxSNjwQDugOnqeikRMu2bKaXCdlLxn&redirect_uri=http%3A%2F%2Fwww.xxxxx.com%2Foauth_redirect

2. 响应数据包格式

若参数无误,服务器将返回一段JSON文本,包含以下参数:

返回值字段字段类型字段说明
access_tokenString用于调用access_token,接口获取授权后的access token。
expires_inlongaccess_token的生命周期,单位是秒数。
uidint当前授权用户的uid。

{
    "access_token": "ACCESS_TOKEN",
    "expires_in": 1234,
    "uid":"12341234",
    "scope":"users"
}