pams授权认证 接口文档

  • 用户授权相关接口
    • 登录授权获取Code接口
    • 登录获取授权后的token接口
    • 根据token获取用户资源信息
    • 获取token相关信息接口
    • 刷新token(续期)

oauth授权认证

用户授权相关接口

登录授权获取Code接口

基本信息

Path: /pams/oauth2/authorize.do

Method: GET

接口描述:

接口说明

第三方调用该接口携带参数重定向到pams用户授权页面,用户输入登录信息认证成功后会携带code重定向到第三方传入的redirect_uri地址

字段说明

  1. scope权限范围代码是pams在后台为第三方客户端配置的,第三方只能传入后台为其配置的scope代码
  2. redirect_uri只能传入第三方注册时填写的应用地址下的路径

返回说明

1.用户授权并登陆成功后, pams会重定向到第三方系统中 , 重定向地址为redirect_uri地址
2.重定向到第三方系统时会携带code参数
3.如果请求pams用户授权时携带state参数, 则重定向回第三方系统时将state原样带回

请求参数

Query

参数名称 是否必须 示例 备注
client_id 是 082f6b7a73c4438b899f8b7b0bdee0b2 申请应用时分配的clientId
redirect_uri 是 https://www.xdja.com/example/example.do 授权回调地址,用户授权成功后携带code重定向到第三方系统的地址
response_type 是 code 返回类型,请填写code
scope 是 BASIC_INFO 申请scope权限所需参数,可一次申请多个scope权限,用逗号分隔
state 否 123 用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置。这个参数可用于防止跨站请求伪造(CSRF)攻击

返回数据

名称 类型 是否必须 默认值 备注 其他信息

登录获取授权后的token接口

基本信息

Path: /pams/oauth2/access_token.do

Method: POST

接口描述:

状态码 解释
0 成功
1 失败
2 未认证通过
3 无效的code
4 无效的票据
5 参数无效
6 code已被使用
7 票据已过期
8 人员信息不存在
9 无效的refresh_token
10 refresh_token已过期

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/x-www-form-urlencoded 是

Body

参数名称 参数类型 是否必须 示例 备注
client_id text 是 082f6b7a73c4438b899f8b7b0bdee0b2 请应用时分配的clientId
client_secret text 是 082f6b7a73c4438b899f8b7b0bdee0b2 申请应用时分配的AppSecret
grant_type text 是 authorization_code 授权类型,需要填写为authorization_code
code text 是 082f6b7a73c4438b899f8b7b0bdee0b2 调用authorize获得的code值。

返回数据

名称 类型 是否必须 默认值 备注 其他信息
code string 非必须 返回状态码,详见备注
data object 非必须
├─ expire number 非必须 失效时间戳,毫秒级
├─ personId string 非必须 人员ID
├─ refreshToken string 非必须 该字段用于刷新token,进行token续期
├─ token string 非必须 token信息,用于获取人员信息
msg string 非必须 提示信息,当操作失败时会进行简短说明

根据token获取用户资源信息

基本信息

Path: /pams/oauth2/get_user_info.do

Method: POST

接口描述:

说明

该接口用于获取用户在登录授权页面为该第三方客户端授权的人员信息

注意

该文档给的返回结果示例仅作为参考使用,现实运用中返回的人员信息以pams后台配置的该第三方客户端所拥有的权限范围为准

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/x-www-form-urlencoded 是

Body

参数名称 参数类型 是否必须 示例 备注
token text 是 fc7fa3787b8f44b0a9b81dc9d82a20fd access token

返回数据

名称 类型 是否必须 默认值 备注 其他信息
code string 非必须 返回状态码,详见获取token接口中的备注
data object 非必须
├─ appInfo object [] 非必须 应用信息,当该用户没有应用权限时,该项为空

item 类型: object

├─ appName string 必须
├─ appId string 必须
├─ depInfo object 非必须 单位信息,当用户未授权该项信息时,该项为空
├─ depCode string 非必须
├─ flag string 非必须
├─ name string 非必须
├─ personInfo object 非必须 人员信息,当用户未授权该项信息时,该项为空
├─ code string 非必须
├─ personType string 非必须
├─ police string 非必须
├─ state string 非必须
├─ deviceInfo object [] 非必须 设备证书信息,当用户未授权该项信息或者用户没有设备证书信息时,该项为空

item 类型: object

├─ sn string 非必须
├─ signCertificate string 非必须
msg string 非必须 操作信息,当反悔失败时会进行简短说明

获取token相关信息接口

基本信息

Path: /pams/oauth2/get_token_info.do

Method: POST

接口描述:

说明

第三方可通过该接口查询token的相关信息

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/x-www-form-urlencoded 是

Body

参数名称 参数类型 是否必须 示例 备注
token text 是 4028989d6928fca601692906bff6001d access_token

返回数据

名称 类型 是否必须 默认值 备注 其他信息
code string 非必须 返回状态码,详情查看获取token接口中的备注
data object 非必须
├─ clientId string 非必须 客户端ID
├─ expire number 非必须 token到期时间戳,毫秒级
├─ id string 非必须 token的ID,目前业务中未用到
├─ personId string 非必须 用户ID
├─ scopeCode string 非必须 该用户授权的权限范围的id
├─ token string 非必须 access token
msg string 非必须 操作信息,当操作失败是会进行简短说明

刷新token(续期)

基本信息

Path: /pams/oauth2/refresh_token.do

Method: POST

接口描述:

refresh_token用于第三方服务刷新token,如果refresh_token失效则需要重新让用户授权认证

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/x-www-form-urlencoded 是

Body

参数名称 参数类型 是否必须 示例 备注
client_id text 是 082f6b7a73c4438b899f8b7b0bdee0b2 申请应用时分配的clientId
client_secret text 是 082f6b7a73c4438b899f8b7b0bdee0b2 申请应用时分配的AppSecret
refresh_token text 是 082f6b7a73c4438b899f8b7b0bdee0b2 通过getToken接口获取得refreshToken值

返回数据

名称 类型 是否必须 默认值 备注 其他信息
code string 非必须 返回状态码,详情查看获取token接口中的备注
data object 非必须
├─ expire number 非必须 新的token的失效时间戳,毫秒级
├─ personId string 非必须 人员ID
├─ refreshToken string 非必须 refresh_token
├─ token string 非必须 新的token
msg string 非必须 操作信息,当操作失败时会进行简短说明

demo源码下载

demo部署包下载

Build by pams.