API


1. OAuth2.0授权

  1. 请求授权
  • 说明
    OAuth2.0的请求授权接口
  • URL ${SSO_API_URI}/token.php
  • HTTP请求方式 GET/POST
  • 返回格式 URL QueryJSON
  • 请求参数
    • client_id – 必选 – 应用唯一标识符(应用ID)
    • redirect_uri – 必选 – 回调地址,需与注册应用的回调地址一致。
    • grant_type – 可选 – 设置授权类型,支持code、token,默认code。
    • state – 可选 – 用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数,当response_type=token则会在Fragment Parameter回传该参数。
  • 返回结果
    • 当response_type为code时
      • code – 授权码,用于调用token接口时使用。
      • state – 如果传递参数,会回传该参数。
    • 当response_type为token时
      • access_token – 用来调用其它接口的令牌码。
      • state – 如果传递参数,会回传该参数。
      • expires_in – 令牌码有效期时间,秒。
      • refresh_token – 如果设置,会返回用来调用获取授权接口的刷新令牌码。
  • 示例
// 当response_type为code时
//请求
${SSO_API_URI}/authorize.php?client_id=sso_admin_client&redirect_uri=http%3A%2F%2F127.0.0.1%3A8800%2Fadmin%2Findex.php&response_type=code
//同意授权后会重定向
http://127.0.0.1:8800/admin/index.php?code=${CODE}

// 当response_type为token时
//请求
${SSO_API_URI}/authorize.php?client_id=ufsso_dcux_portal&redirect_uri=http%3A%2F%2F127.0.0.1%3A8800%2Findex.html&response_type=token
//同意授权后会重定向
http://127.0.0.1:8800/index.html?access_token=${ACCESS_TOKEN}&expires_in=${ACCESS_TOKEN_EXPIRE_IN}
  1. 获取授权
  • 说明
    OAuth2.0的获取授权接口
  • URL ${SSO_API_URI}/token.php
  • HTTP请求方式 GET/POST
  • 支持格式 JSON
  • 请求参数
    • client_id – 必选 – 应用唯一标识符(应用ID)
    • client_secret – 必选 – 应用秘钥(应用Secret)
    • grant_type – 可选 – 请求的类型,可以为authorization_code、password、refresh_token,默认authorization_code。
    • 当grant_type为authorization_code时
      • code – 必选 – 调用请求授权回调后获得的code值。
      • redirect_uri – 必选 – 回调地址,需与注册应用的回调地址一致。
    • 当grant_type为password时
      • username – 必选 – 用户名。
      • password – 必选 – 用户密码。
    • 当grant_type为refresh_token时
      • refresh_token – 必选 – 请获取授权接口时,grant_type为authorization_code时返回的refresh_token
  • 返回结果
    • access_token – 用来调用其它接口的令牌码。
    • expires_in – 令牌码有效期时间,秒。
    • refresh_token – 可选的,如果设置,会返回用来调用获取授权接口的刷新令牌码。
  • JSON示例
{
  "access_token":"02c932bb9ef889e76070bafe337c5b6e",
  "expires_in":"3600"
}

2. 用户基本信息

  1. 读取接口
  • 说明
    获取授权用户信息
  • URL ${SSO_API_URI}/resource.php
  • HTTP请求方式 GET/POST
  • 支持格式 JSON
  • 请求参数
    • access_token – 必选 – 调用获取授权接口时获得的令牌码
  • 返回结果
    • uid – 用户ID
    • username – 用户名称
    • role – 用户角色类型
  • JSON示例

{
    "uid":"lay",
    "username":"liaiyong",
    "role":"其他"
}
  1. 退出接口
  • 说明
    退出接口,用户退出平台,慎用
  • URL ${SSO_API_URI}/logout.php
  • HTTP请求方式 GET/POST
  • 支持格式 JSON
  • 请求参数

    • access_token – 可选 – 调用获取授权接口时获得的令牌码
    • redirect_uri – 可选 – 回调地址,需与注册应用的回调地址一致。
    • response_type – 可选 – 返回类型,同请求授权接口
    • refresh_token – 可选 – 调用获取授权接口时获得的刷新令牌码
  • 返回结果
    • logout – 是否成功信息
  • 示例

// 当redirect_uri存在
//请求
${SSO_API_URI}/logout.php?access_token=${ACCESS_TOKEN}&redirect_uri=http://127.0.0.1:8800/index.html
//登出后会重定向至
http://127.0.0.1:8800/index.html?logout=success
//如果response_type存在且为token则重定向至
http://127.0.0.1:8800/index.html#logout=success

// 当redirect_uri不存在
{
    "logout":"success"
}