oauthApp应用
oauthApp应用
oauthApp应用可以实现使用AIRIOT平台的账号密码登录第三方应用的功能,例如用airiot平台的账号密码登录客户其他系统
进入【首页】——点击【二次开发】——点击【oauthApp应用】,进入oAuth应用界面
OAuth使用步骤
流程1 客户⽅调⽤请求授权码接⼝
获取⽤户登录状态失败跳转到登录界⾯(⽣成cookie)(平台⽅)
获取⽤户授权状态失败跳转到授权按钮界⾯(带cookie)(平台⽅)
流程2 授权码接⼝成功后会⾃动回调回调接⼝
流程3 客户⽅在回调接⼝中调⽤获取token接⼝
流程4 客户⽅⽤token获取⽤户信息
- 步骤一 客户方调用请求授权码接口
下⾯的http后⾯紧跟的那个localhost:9000实际使⽤时都换成实际的平台⽅IP和端⼝(端⼝为后端 接⼝端⼝,⼀般是31000,例如 http://xyz.abc:31000/core/auth/oauth/authorize)
http://localhost:9000/core/auth/oauth/authorize? client_id=000000&state=%E6%B2%B9%E7%94%B0&redirect_uri=http://localhost:9000/core/au th/oauth/redirect&response_type=code
请求头中参数
x-request-project 类型string 项⽬ID
需要传⼊参数
client_id 类型string 客户端id (存储在平台⽅,需要去平台⽅看)
redirect_uri 类型string 客户⽅提供的回调接⼝ (如http://xxx.azx:1234/abc/rfzx)
response_type 类型string 响应类型(值固定为code)
state 类型string 可 数,可以⽤来进⾏业务逻辑
platform_uri 类型string 平台⽅地址(这⾥端⼝是前端⻚⾯端⼝,单项⽬版值为http://IP地址:端 ⼝/admin,多项⽬版值为http://IP地址:端⼝/admin/p项⽬ID,如http://xyz.abc:3030/admin,http://xyz.abc:3030/admin/_p_61123506db387e8ec4b01741)
图⾥是平台⽅OAuth应⽤界⾯位置,⼿动添加⼀个就能看到客户端id和密钥了
获得的OAuth应⽤格式为
获取用户登录状态失败跳转到登录界面(生成cookie)(平台方)
此处链接为⻚⾯中前端会调⽤的后端接⼝,正式版需前端给⼀个⻚⾯url(平台⽅提供,⾮客户⽅)
http://localhost:9000/core/auth/login/oauth
请求头中参数
x-request-project 类型string 项⽬ID
需要传⼊参数
client_id 类型string 客户端id (存储在平台⽅,需要去平台⽅看)
redirect_uri 类型string 客户⽅提供的回调接⼝
response_type 类型string 响应类型(值固定为code)
state 类型string可选参数,可以⽤来进⾏业务逻辑
return_to类型string结束后返回到请求授权码接⼝
platform_uri 类型string 响应类型(单项⽬版值为http://IP地址:端⼝/admin,多项⽬版为 http://IP地址:端⼝/admin/p项⽬ID)
登录成功后跳转到授权按钮⻚⾯
http://localhost:9000/core/auth/login/oauth/authorize 获取⽤户授权状态失败跳转到授权按钮界⾯(带cookie)(平台⽅) 此处连接为⻚⾯中前端会调⽤的后端接⼝,正式版需前端给⼀个⻚⾯url(平台⽅提供,⾮客户 ⽅) http://localhost:9000/core/auth/login/oauth/authorize
请求头中参数
x-request-project 类型string 项⽬ID
需要传⼊参数
client_id 类型string 客户端id (存储在平台⽅,需要去平台⽅看)
redirect_uri 类型string 客户⽅提供的回调接⼝
response_type 类型string 响应类型(值固定为code)
state 类型string 可选参数,可以⽤来进⾏业务逻辑
return_to 类型string 结束后返回到授权请求接⼝
platform_uri 类型string 响应类型(单项⽬版值为http://IP地址:端⼝/admin,多项⽬版为 http://IP地址:端⼝/admin/p项⽬ID) **授权成功后跳回到请求授权码接⼝
- 步骤二 授权码接⼝成功后会⾃动回调回调接⼝
返回给回调接⼝的参数
code 类型string 授权临时票据
state 类型string 可选参数,可以⽤来进⾏业务逻辑 (若请求授权码时传⼊该参数,则这⾥也会 带着这个参数)
- 步骤三 客户⽅在回调接⼝中调⽤获取token接⼝
请求头中参数
x-request-project 类型string 项⽬ID
需要传⼊参数
client_id 类型string 客户端id (存储在平台⽅,需要去平台⽅看)
client_secret 类型string 客户端密钥 (存储在平台⽅,需要去平台⽅看)
grant_type 类型string 认证类型(固定值为authorization_code)
code 类型string 授权临时票据
redirect_uri 类型string 客户⽅提供的回调接⼝
state 类型string 可选参数,可以⽤来进⾏业务逻辑
http://localhost:9000/core/auth/oauth/authorizeToken
请求成功后响应
获取到token后客户⽅⽤token获取平台⽤户信息后就可以⽤⾃⼰的业务逻辑去登⼊⾃⼰的系统了
- 步骤四 客户⽅⽤token获取⽤户信息
需要传⼊参数
请求头中参数
x-request-project 类型string 项⽬ID Authorization 类型string 之前获取的token值(access_token) http://localhost:9000/core/auth/user
请求成功后响应
id是当前经过验证的平台⽅⽤户id,username是当前经过验证的平台⽅⽤户名称。其他字段可以 不⽤看,主要⽤的是这两个字段