用户授权说明及流程

为什么要使用用户授权

1.获取用户信息

2.获取用户上传,分享的视频

3.帮助用户做上传视频、获取播放地址、获取相应信息等动作

如何使用用户授权

1.通用授权方式
      最常用的授权方式,标准OAuth2授权协议
2.隐式授权方式
      又叫JS授权,如果你是单纯的页面应用(无服务器端),这是你的选择
3.企业级授权方式
      最直接的授权方式,用户名密码直接授权,由于这种授权方式会暴露用户密码给第三方,因此我们只提供给合作级别应用使用

相关接口定义

1.授权码授权方式
接口名称
用于请求authorization code
接口地址(RESTFUL)
https://openapi.iqiyi.com/api/oauth2/authorize?client_id=APP_KEY&response_type=code&redirect_uri=http://www.myurl.com
HTTP方法
GET
参数 必须 说明
client_id true 申请应用时分配的app_key
redirect_uri true 授权成功后的回调地址,即第三方应用的url
response_type true 授权类型,为code
display false 授权页面的终端类型,取值见下面的说明
state false 用于保持请求和回调的状态,授权请求成功后原样带回给第三方。该参数用于防止csrf攻击(跨站请求伪造攻击),强烈建议第三方带上该参数。参数设置建议为简单随机数+session的方式
返回结果
http://www.myurl.com?code=CODE
返回值
code 用来换取accesstoken的授权码,有效期为10分钟
Display参数说明:
参数取值 类型说明
default 默认的授权页面,适用于web浏览器
mobile 移动终端的授权页面,适用于支持html5的手机
2.请求access_token
接口名称
用于请求accesstoken
接口地址(RESTFUL)
https://openapi.iqiyi.com/api/oauth2/token?client_id=APP_KEY&client_secret=APP_SECRET&redirect_uri=http://www.myurl.com&grant_type=authorization_code&code=CODE
HTTP方法
GET
参数 必须 说明
client_id true 申请应用时分配的app_key
client_secret true 申请应用时分配的app_secret
grant_type true authorization_code
code true 调用authorize时返回的code
redirect_uri true 回调地址,必须和请求code时的redirect_uri一致
state false 用于保持请求和回调的状态,授权请求成功后原样带回给第三方。该参数用于防止csrf攻击(跨站请求伪造攻击),强烈建议第三方带上该参数。参数设置建议为简单随机数+session的方式
返回值(JSON)

{
‘access_token ’=> ACCESS_TOKEN,      // 访问令牌
‘expires_in’=>60,                   // 过期时间
‘refresh_token’=> REFRESH_TOKEN,      // 刷新令牌

}
返回值
access_token 访问第三方资源的凭证
expires_in accesstoken过期时间,以返回的时间的准,单位为秒,注意过期时提醒用户重新授权
refresh_token 刷新token
3.刷新access_token
接口名称
用于请求accesstoken
接口地址(RESTFUL)
https://openapi.iqiyi.com/api/oauth2/token?client_id=APP_KEY&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
HTTP方法
GET
参数 必须 说明
client_id true 申请应用时分配的app_key
grant_type true 调用authorize时返回的refresh_token
refresh_token true 刷新令牌refresh_token
返回值(JSON)

{
‘access_token ’=> ACCESS_TOKEN,      // 访问令牌
‘expires_in’=>60,                   // 过期时间
‘refresh_token’=> REFRESH_TOKEN,      // 刷新令牌

}
返回值
access_token 访问第三方资源的凭证
expires_in accesstoken过期时间,以返回的时间的准,单位为秒,注意过期时提醒用户重新授权
refresh_token 刷新token
4.隐式授权方式(Implicit)
接口名称
用于请求authorization code
接口地址(RESTFUL)
https://openapi.iqiyi.com/api/oauth2/authorize?client_id=APP_KEY&response_type=code&redirect_uri=http://www.myurl.com
HTTP方法
GET
参数 必须 说明
client_id true 申请应用时分配的app_key
redirect_uri true 授权回调地址,必须和应用注册的地址一致
response_type true 授权类型,为token
state false 用于保持请求和回调的状态,授权请求成功后原样带回给第三方。该参数用于防止csrf攻击(跨站请求伪造攻击),强烈建议第三方带上该参数。参数设置建议为简单随机数+session的方式
返回结果
http://www.myurl.com?access_token=ACCESS_TOKEN&expires_in=60
返回值
access_token 访问第三方资源的凭证
expires_in accesstoken过期时间,以返回的时间的准,单位为秒,注意过期时提醒用户重新授权
5.验证访问令牌
接口名称
检查访问令牌access_token有效性
接口地址(RESTFUL)
https://openapi.iqiyi.com/api/oauth2/validation?access_token=ACCESS_TOKEN
HTTP方法
GET
参数 必须 说明
access_token true 开放平台分配的access token,OAuth授权后获得
返回结果

{
‘code ’: A00000,
‘data ’: {
‘uid’ : 12348901
}

}
状态码
A00000 成功
Q00001 失败
6.错误码定义
错误码(error) 错误编号(error_code) 错误描述(error_description)
redirect_uri_mismatch A21322 重定向地址不匹配
invalid_request A21323 请求不合法
invalid_client A21324 client_id或client_secret参数无效
invalid_grant A21325 提供的Access Grant是无效的、过期的或已撤销的
unauthorized_client A21326 客户端没有权限
expired_token A21327 token过期
unsupported_grant_type A21328 不支持的 GrantType
unsupported_response_type A21329 不支持的 ResponseType
access_denied A21330 用户或授权服务器拒绝授予数据访问权限
temporarily_unavailable A21331 服务暂时无法访问

授权接口常见问题

1.获取的access_token有效期多长?
      目前有效期为30天,合作方可以申请3个月或半年。
2.access_token过期了怎么办,需要重新授权吗?
      不需要,获取令牌的同时会提供refresh_token。

公司介绍 新闻动态 联系方式 招聘英才 爱奇艺实验室 开放平台 爱奇艺号认证 爱奇艺号 帮助中心 侵权投诉 About Us

Copyright © 2017 爱奇艺 All Rights Reserved