LicOS平台客户端SDK认证接入指南(springboot版) - 联诚云LicOS - 文档中心 - LicOS平台

LicOS平台客户端SDK认证接入指南(springboot版)

最近更新时间: 2022-07-26 04:41:48

联诚科技集团LicOS平台客户端SDK认证接入指南(springboot版)

使用前提

  • 使用LicOS java SDK,您需要登陆LicOS控制台-应用管理,查询应用的App Key、App Secret和应用回调地址
  • LicOS SDK 支持JAVA JDK1.8及其以上版本

LicOS客户端认证流程

前后端分离

sdk前后端分离.jpg

  • 调用SDK LicosOauth2ClientService#getAuthorizeUrl获取登陆认证地址;
  • 调用SDK LicosOauth2ClientService#getTokenByAuthorizationCode获取id_token、access_token和refresh_token;注意:code使用一次就失效;
  • 调用SDK LicosOauth2ClientService#getUserInfo获取到用户信息;
  • 调用SDK LicosOauth2ClientService#authorize获取id_token、access_token、refresh_token和用户信息,相当于第二步和第三步;注意:code使用一次就失效。
  • id_token、access_token、refresh_token有过期时间,可以通过LicosOauth2ClientService.getTokenByRefreshToken刷新token

服务端渲染

sdk服务端渲染.jpg

SDK获取和安装

推荐您通过 Maven 安装依赖的方式使用 SDK。

首先您需要在您的操作系统中下载并 安装 Maven ,配置私服地址,安装完成后您只需在 Maven 项目的 pom.xml 文件加入相应的依赖项即可。

pom.xml配置

<!-- 请使用最新版SDK -->
<dependency>
  <groupId>com.kmlc.licos</groupId>
  <artifactId>licos-iam-oauth2-client-starter</artifactId>
  <version>0.0.10-RELEASE</version>
</dependency>

springboot配置文件:

licos:
  oauth2:
    client:
      registration:
        # 第三方应用的标识id
        client-id: xxxx
        # 第三方应用的密钥
        client-secret: xxxx
        # 授权成功后的重定向地址,授权成功后携带code参数,pc,mobile可以自定义
        redirect-uris: 
        	pc: http://xxx
        	mobile: http://xxx
        # 默认redis
        cache-type: local
      provider:
        open-uri: xxx
        auth-uri: xxx

配置文件说明:

配置 说明
licos.oauth2.client.provider.auth-uri 认证地址,默认:http://auth.licos.com.cn/oauth2
licos.oauth2.client.provider.open-uri LicOS开放能力接口地址
默认:http://openapi.licos.com.cn/api
licos.oauth2.client.registration.client-id 必选。第三方应用的标识id
licos.oauth2.client.registration.client-secret 必选。第三方应用的密钥
licos.oauth2.client.registration.redirect-uris 必选。授权成功后的重定向地址。授权成功后携带code参数
licos.oauth2.client.registration.cache-type 必选。缓存accessToken的策略,redis或local,默认redis
licos.oauth2.client.registration.cache-prefix 可选。redis缓存的前缀,默认licos:client-credentials:

示例代码

@Controller
public class LoginController {

    @Autowired
    private LicosOauth2ClientService licosOauth2ClientService;

    /**
     * 引导重定向到授权登陆页面
     *
     * @return
     */
    @GetMapping("/lcLogin")
    public String lcLogin() {
        String url = licosOauth2ClientService.getAuthorizeUrl("pc",null);
        return "redirect:" + url;
    }

    /**
     * 获取token和用户信息
     *
     * @param code
     * @return
     */
    @GetMapping("/authorize")
    @ResponseBody
    public Result authorize(String code) {
        LicosAuthorizeDTO licosAuthorizeDTO = licosOauth2ClientService.authorize(code);

        // 获取token
        LicosTokenDTO licosTokenDTO = licosAuthorizeDTO.getLicosTokenDTO();

        // 获取用户信息
        LicosUserInfoDTO userInfo = licosAuthorizeDTO.getUserInfo();

        // TODO:  业务逻辑 

        return null;
    }
}

API接口

LicosOauth2ClientService:LicOS 认证服务

方法 参数 说明 版本
String getAuthorizeUrl(String key, String state); key:配置文件redirect-uris的key
state:自定义参数
获取LicOS认证地址 >=0.0.9-RELEASE
LicosTokenDTO getTokenByAuthorizationCode(String code); code: 回调地址携带的code 获取idToken、accessToken和refreshToken >=0.0.1-RELEASE
LicosUserInfoDTO getUserInfo(String accessToken,String tokenType); accessToken:上一个接口返回的accessToken;
tokenType:上一个接口返回的tokenType
获取用户信息 >=0.0.1-RELEASE
LicosAuthorizeDTO authorize(String code); code:回调地址携带的code 获取idToken、accessToken和refreshToken和用户信息 >=0.0.1-RELEASE
LicosTokenDTO getTokenByClientCredentials(); 获取客户端凭证accessToken >=0.0.1-RELEASE
LicosTokenDTO getTokenByRefreshToken(String refreshToken); refreshToken:刷新token 刷新idToken和accessToken >=0.0.1-RELEASE

getAuthorizeUrl

  • 说明:获取LicOS认证地址

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    key 配置文件redirect-uris的key String
    state 自定义参数 String
  • 响应参数:

    参数名称 参数说明 类型
    LicOS认证地址 String

getTokenByAuthorizationCode

  • 说明:获取idToken、accessToken和refreshToken

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    code 回调地址携带的code String
  • 响应参数:

    参数名称 参数说明 类型
    accessToken accessToken String
    refreshToken 刷新token String
    scope scope String
    idToken idToken String
    tokenType token类型 String
    expiresIn 过期时间,单位秒 Integer
  • 示例:

  {
    "access_token": "", // access_token
    "refresh_token": "", //refresh_token
    "scope": "", // scope
    "id_token": "", // id_token
    "token_type": "", // token类型
    "expires_in": 0 // 过期时间,单位秒
  }

getUserInfo

  • 说明:获取用户信息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    accessToken accessToken String
    tokenType token类型 String
  • 响应参数:

    参数名称 参数说明 类型
    tenantId 租户id String
    azp idToken颁发者 String
    nonce 关联客户端和idToken的会话的字符串 String
    sub 终端用户在发行方的身份标识 String
    zoneinfo 用户的时区信息 String
    birthdate 生日 String
    gender 性别 String
    iss 签发人 String
    preferredUsername 客户端期望的终端用户名称 String
    locale 地方信息返回en-US 或 fr-CA等信息 String
    updatedAt 用户信息最近更新时间 String
    nickname 昵称 String
    exp 过期时间 Integer
    iat 颁发时间 Integer
    email 邮件地址 String
    powerList 权限 List
    website 终端用户的网站主业或博客url String
    tenantName 租户名称 String
    emailVerified 是否是验证的最终用户 String
    address 用户地址 String
    profile 终端用户发资料页url String
    phoneNumberVerified 执行验证的终端用户手机号 Boolean
    givenName 名字 String
    middleName 中间名字 String
    picture 头像 String
    aud 自定义返回值,格式不定 Object
    accountId 账号id String
    name 用户全名 String
    phoneNumber 终端用户的验证手机号 String
    familyName 姓氏 String
    appAdmin 是否是管理员 Boolean
  • 示例:

  {
    "tenant_id": "", // 租户id
    "azp": "", // idToken颁发者
    "nonce": "", // 关联客户端和idToken的会话的字符串
    "sub": "", // 终端用户在发行方的身份标识
    "zoneinfo": "", // 用户的时区信息
    "birthdate": "", // 生日
    "gender": "", // 性别
    "iss": "", // 签发人
    "preferred_username": "", // 客户端期望的终端用户名称
    "locale": "", // 地方信息返回en-US 或 fr-CA等信息
    "updated_at": "", // 用户信息最近更新时间
    "nickname": "", // 昵称
    "exp": 0, // 过期时间
    "iat": 0, // 颁发时间
    "email": "", // 邮件地址
    "powerList": // 权限
    [
      {}
    ],
    "website": "", //终端用户的网站主业或博客url
    "tenant_name": "", // 租户名称
    "email_verified": "", // 是否是验证的最终用户
    "address": "", // 用户地址
    "profile": "", // 终端用户发资料页url
    "phone_number_verified": false, // 执行验证的终端用户手机号
    "given_name": "", // 名字
    "middle_name": "", // 中间名字
    "picture": "", // 头像
    "aud": {}, // 自定义返回值,格式不定
    "account_id": "", // 账号id
    "name": "", // 用户全名
    "phone_number": "", // 终端用户的验证手机号
    "family_name": "", //姓氏
    "app_admin": false // 是否是管理员
  }

authorize

  • 说明:认证,相当于getTokenByAuthorizationCode和getUserInfo

  • 参数:回调地址携带的code

    参数名称 参数说明 是否必须 参数类型
    code 回调地址携带的code String
  • 响应参数:返回getTokenByAuthorizationCode和getUserInfo的结果

    参数名称 参数说明 类型
    licosTokenDTO token信息 Object
    userInfo 用户信息 Object
  • 示例:

  {
    "licosTokenDTO": // getTokenByAuthorizationCode的返回值
    {
    "access_token": "", // access_token
    "refresh_token": "", //refresh_token
    "scope": "", // scope
    "id_token": "", // id_token
    "token_type": "", // token类型
    "expires_in": 0 // 过期时间,单位秒
    },
    "userInfo": // getUserInfo的返回值
    {
    "tenant_id": "", // 租户id
    "azp": "", // idToken颁发者
    "nonce": "", // 关联客户端和idToken的会话的字符串
    "sub": "", // 终端用户在发行方的身份标识
    "zoneinfo": "", // 用户的时区信息
    "birthdate": "", // 生日
    "gender": "", // 性别
    "iss": "", // 签发人
    "preferred_username": "", // 客户端期望的终端用户名称
    "locale": "", // 地方信息返回en-US 或 fr-CA等信息
    "updated_at": "", // 用户信息最近更新时间
    "nickname": "", // 昵称
    "exp": 0, // 过期时间 
    "iat": 0, // 颁发时间
    "email": "", // 邮件地址
    "powerList": // 权限
    [
      {}
    ],
    "website": "", //终端用户的网站主业或博客url
    "tenant_name": "", // 租户名称
    "email_verified": "", // 是否是验证的最终用户
    "address": "", // 用户地址
    "profile": "", // 终端用户发资料页url
    "phone_number_verified": false, // 执行验证的终端用户手机号
    "given_name": "", // 名字
    "middle_name": "", // 中间名字
    "picture": "", // 头像
    "aud": {}, // 自定义返回值,格式不定
    "account_id": "", // 账号id
    "name": "", // 用户全名
    "phone_number": "", // 终端用户的验证手机号
    "family_name": "", //姓氏
    "app_admin": false // 是否是管理员
  }
  }

getTokenByClientCredentials

  • 说明:获取客户端凭证

  • 参数:无

  • 响应参数:

    参数名称 参数说明 类型
    accessToken accessToken String
    refreshToken 刷新token String
    scope scope String
    idToken idToken String
    tokenType token类型 String
    expiresIn 过期时间,单位秒 Integer
  • 示例:

{
  "access_token": "", // access_token
  "refresh_token": "", // 无返回
  "scope": "", // scope
  "id_token": "", // 无返回
  "token_type": "", // token类型
  "expires_in": 0 // 过期时间,单位秒
}

getTokenByRefreshToken

  • 说明:刷新token

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    refreshToken 刷新token String
  • 响应参数:

    参数名称 参数说明 类型
    accessToken accessToken String
    refreshToken 刷新token String
    scope scope String
    idToken idToken String
    tokenType token类型 String
    expiresIn 过期时间,单位秒 Integer
  • 示例:

  {
    "access_token": "", // access_token
    "refresh_token": "", // refresh_token
    "scope": "", // scope
    "id_token": "", // id_token
    "token_type": "", // token类型
    "expires_in": 0 // 过期时间,单位秒
  }

LicosOpenService:开放能力服务

公共参数说明:

idToken:认证服务返回的idToken

方法 参数 说明 版本
LicosOpenUserInfoDTO getUserInfoByAccountId(String accountId) accountId 获取用户信息 >=0.0.5-RELEASE
List getTenantInfo(String idToken); idToken 获取租户信息 >=0.0.1-RELEASE
List getOrgTreeList(String tenantId) tenantId 获取组织信息 >=0.0.5-RELEASE
List getOrgTypeEnum(); 获取组织类型 >=0.0.5-RELEASE
LicosPage getOrgByType(Integer pageIndex, Integer pageSize, String type, String tenantId); pageIndex:开始页
pageSize:分页大小
type:组织类型
tenantId:租户id
查询组织信息 >=0.0.5-RELEASE
void addOrg(LicosOrgAddDTO licosOrgAddDTO); licosOrgAddDTO:组织信息
添加组织 >=0.0.5-RELEASE
void removeOrg(String orgId); orgId:组织id 删除组织 >=0.0.5-RELEASE
List getRoleList(String orgId); orgId:组织id 获取组织所有角色 >=0.0.5-RELEASE
void addRoleToOrg(LicosRoleAddDTO licosRoleAddDTO, String idToken); licosRoleAddDTO:角色信息 新增角色 >=0.0.1-RELEASE
void removeRole(String roleId, String idToken); roleId:角色id 删除角色 >=0.0.1-RELEASE
List getRoleByAccountId(String accountId); accountId:LicOS账号id 获取账号角色 >=0.0.5-RELEASE
LicosPage pageUserInfoList(Integer pageIndex, Integer pageSize, String orgId, String tenantId, String keywords); pageIndex:开始页
pageSize:分页大小
orgId:组织id
tenantId:租户id
keywords:查询关键字
获取用户列表 >=0.0.5-RELEASE
LicosOrgUserDTO getOrgAndUser(String tenantId, Date updateTime, String idToken); tenantId:租户id
updateTime:更新时间
获取组织和用户 >=0.0.1-RELEASE
LicosOrgUserDTO getOrgAndUserByTenantId(String tenantId) tenantId:租户id 获取组织和用户 >=0.0.4-RELEASE
List getTenantAdmin(String tenantId); tenantId:租户id 获取管理员 >=0.0.5-RELEASE
List getAppGroupListByTenantId(String tenantId); tenantId:租户id 获取代理商应用组列表 >=0.0.6-RELEASE
List getAppByGroupId(String groupId); groupId:组id 获取代理商应用组下的应用 >=0.0.6-RELEASE
List getGroupListByTenantId(String tenantId,String type); tenantId:租户id
type:租户组类型COMPANY=公司;DEPART=组织
获取租户的组列表 >=0.0.7-RELEASE
List<LicosTenantGroupDTO> getTenantGroupByGroupId(String groupId,String type); groupId:组id
type:租户组类型COMPANY=公司;DEPART=组织
获取租户组下的租户信息 >=0.0.7-RELEASE
List getChildTenantGroupByTenantId(String tenantId,String type); tenantId:租户id
type:租户组类型COMPANY=公司;DEPART=组织
获取租户所在组及其组下的租户信息 >=0.0.7-RELEASE
void msgEventConfirm(String appId, String tenantId); appId:应用id
tenantId:租户id
事件消息确认 >=0.0.13-RELEASE
Boolean checkGroupAdminByTenantId(String tenantId); tenantId:租户id 检查租户是否是租户组所有者 >=0.0.8-RELEASE
LicosTenantDetailDTO getTenantInfoByTenantId(String tenantId); tenantId:租户id 根据租户id获取租户信息 >=0.0.9-RELEASE
LicosSendSubscribeDTO msgSendMessage(LicosMsgSendDTO licosMsgSendDTO); LicosMsgSendDTO:发送消息参数 应用发送订阅消息 >=0.0.12-RELEASE
void msgDealMessage(List ids); Ids:消息id 处理待办消息 >=0.0.10-RELEASE

getUserInfoByAccountId

  • 说明:获取用户信息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    accountId 用户账号 String
  • 响应参数:

    参数名称 参数说明 类型
    id 账号id String
    accountName 账号名称 String
    alias 别名 String
    main 是否主账号 Boolean
    tenantId 租户id String
    tenantName 租户名称 String
    userAvatar 用户头像 String
    email 邮箱 String
    gender 性别(0:男1:女) String
    phone 手机号 String
    realname 真实名称 String
    certificateStatus 认证状态(1 通过 0进行中 2认证失败) Object
    createTime 创建时间 String
    destroying 是否注销 Boolean
  • 示例:

  {
    "id": "", // 账号id
    "accountName": "", // 账号名称
    "alias": "", // 别名
    "main": false,// 是否主账号
    "tenantId": "", // 租户id
    "tenantName": "", // 租户名称
    "userAvatar": "", // 用户头像
    "email": "", // 邮箱
    "gender": "", // 性别(0:男1:女)
    "phone": "", // 手机号
    "realname": "", // 真实名称
    "certificateStatus": {}, // 认证状态(1 通过 0进行中 2认证失败)
    "createTime": "", // 创建时间
    "destroying": false // 是否注销
  }

getTenantInfo

  • 说明:获取租户信息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    idToken idToken String
  • 响应参数:

    参数名称 参数说明 类型
    main 是否主账号 Boolean
    id 租户id String
    name 租户名称 String
    industryCategoryId 行业类目id String
    industryCategoryName 行业类目名 String
    roleNames 角色名集合 List
    orgNames 组织名集合 List
    joinDate 加入时间 String
    logo logo String
    accountId 账号 String
  • 示例:

  [
    {
      "main": false, // 是否主账号
      "id": "", // 租户id
      "name": "", // 租户名称
      "industryCategoryId": "", // 行业类目id
      "industryCategoryName": "", // 行业类目名
      "roleNames": // 角色名集合 
      [
        ""
      ],
      "orgNames": // 组织名集合
      [
        ""
      ],
      "joinDate": "", // 加入时间
      "logo": "", // logo
      "accountId": "" // 账号
    }
  ]

getOrgTreeList

  • 说明:获取组织

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
  • 响应参数:

    参数名称 参数说明 类型
    id 组织id String
    name 名称 String
    logo logo String
    pid 上级id String
    childs 下级 List
  • 示例:

  [
      {
      "id": "", // 组织id
      "name": "", // 名称
      "logo": "", // logo
      "childs": [] // 下级
      "pid":"" // 上级id
      }
  ]

getOrgTypeEnum

  • 说明:获取组织类型

  • 参数:无

  • 响应参数:

    参数名称 参数说明 类型
    组织类型 List
  • 示例:

  ["",""]

getOrgByType

  • 说明:获取组织信息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    pageIndex 开始页 Integer
    pageSize 分页大小 Integer
    tenantId 租户id String
    type 组织类型 组织类型
  • 响应参数:

    参数名称 参数说明 类型
    id 组织id String
    name 组织名 String
  • 示例:

  [
       {
        "id":"", // 组织id
        "name":"" // 组织名
       }
  ]

addOrg

  • 说明:添加组织

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    name 组织名称 String
    parentOrgId 上级组织id String
    description 描述 String
    tenantId 租户id String
  • 响应参数:无

removeOrg

  • 说明:删除组织

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    orgId 组织id String
  • 响应参数:无

getRoleList

  • 说明:获取组织所有角色

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    orgId 组织id String
  • 响应参数:

    参数名称 参数说明 类型
    id 角色id String
    name 角色名 String
  • 示例:

  [
       {
        "id":"", // 角色id
        "name":"" // 角色名
       }
  ]

addRoleToOrg

  • 说明:新增角色

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    orgId 组织id String
    description 角色描述 String
    name 角色名称 String
    idToken idToken String
  • 响应参数:无

removeRole

  • 说明:删除角色

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    roleId 角色id String
    idToken idToken String
  • 响应参数:无

getRoleByAccountId

  • 说明:删除角色

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    accountId 账号id String
  • 响应参数:无

pageUserInfoList

  • 说明:获取用户列表

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    pageIndex 开始页 Integer
    pageSize 分页大小 Integer
    orgId 组织id String
    tenantId 租户id String
    keywords 查询关键字 String
  • 响应参数:

    参数名称 参数说明 类型
    pageIndex 开始页 Integer
    pageSize 分页大小 Integer
    total 总记录数 Integer
    content 内容 List
    content参数名称 参数说明 类型
    id 用户id String
    email 邮箱 String
    phone 电话 String
    nicknames 昵称 Stting
    userStatus 用户状态 String
    roleName 角色名 String
    roleId 角色id String
    orgName 组织名 String
    orgId 组织id String
    accountId 账号id String
    gender 性别 String
    createTime 创建时间 String
  • 示例:

{
  "pageIndex": 0,
  "pageSize": 0,
  "total": 0,
  "content": [
    {
    "id": "", // id
    "email": "", // 邮箱
    "phone": "", // 电话
    "nicknames": "", // 名称
    "userStatus": "", // 用户状态
    "roleName": "", // 角色名
    "roleId": "", // 角色id
    "orgName": "", // 组织名
    "orgId": "", // 组织id
    "accountId": "", // 账号id
    "gender": "", // 性别
    "createTime": "" // 创建时间
    }
	]
}

getOrgAndUser

  • 说明:获取组织和用户

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
    updateTime 更新时间 Date
  • 响应参数:

    参数名称 参数说明 类型
    orgs 组织 List
    accounts 用户 List
    orgs参数名称 参数说明 类型
    id 组织id String
    name 组织名称 String
    pid 父id String
    createdDate 创建时间 String
    lastModifiedDate 最后修改日期 String
    childs 子节点 List
    accounts参数名称 参数说明 类型
    id id String
    alias 别名 String
    accountName 账户名称 String
    email 邮箱 String
    phone 手机 String
    realname 真实名称 String
    gender 性别 String
    createdDate 创建日期 String
    lastModifiedDate 最后修改日期 String
    orgId 组织id String
    userStatus 用户状态:正常NORMAL,禁用DISABLEL,冻结FREEZE,删除DELETE,未激活INACTIVATED,未加入NOT_JOIN,已拒绝REJECTED,注销LOGOUT String
  • 示例:

      {
        "orgs":[
            {
                "id":"", // 组织id 
                "name":"", // 组织名称 
                "pid":"", // 父id 
                "createdDate":"", // 创建时间
                "lastModifiedDate":"", // 最后修改日期
                "childs":[] // 子节点
            }
        ],
        "accounts":[
            {
                "id":"", // id               
                "alias":"", // 别名
                "accountName":"", // 账户名称
                "email":"", // 邮箱
                "phone":"", // 手机
                "realname":"", // 真实名称
                "gender":"", // 性别
                "createdDate":"", // 创建日期
                "lastModifiedDate":"", // 最后修改日期
                "orgId":"", // 组织id
                "userStatus":"", // 用户状态:正常NORMAL,禁用DISABLEL,冻结FREEZE,删除DELETE,未激活INACTIVATED,未加入NOT_JOIN,已拒绝REJECTED,注销LOGOUT
                "appAdmin":false
            }
        ]
      }

getOrgAndUserByTenantId

  • 说明:获取组织和用户

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
  • 响应参数:

    参数名称 参数说明 类型
    orgs 组织 List
    accounts 用户 List
    orgs参数名称 参数说明 类型
    id 组织id String
    name 组织名称 String
    pid 父id String
    createdDate 创建时间 String
    lastModifiedDate 最后修改日期 String
    childs 子节点 List
    accounts参数名称 参数说明 类型
    id id String
    alias 别名 String
    accountName 账户名称 String
    email 邮箱 String
    phone 手机 String
    realname 真实名称 String
    gender 性别 String
    createdDate 创建日期 String
    lastModifiedDate 最后修改日期 String
    orgId 组织id String
    userStatus 用户状态:正常NORMAL,禁用DISABLEL,冻结FREEZE,删除DELETE,未激活INACTIVATED,未加入NOT_JOIN,已拒绝REJECTED,注销LOGOUT String
    appAdmin 是否是管理员 Boolean
  • 示例:

      {
        "orgs":[
            {
                "id":"", // 组织id 
                "name":"", // 组织名称 
                "pid":"", // 父id 
                "createdDate":"", // 创建时间
                "lastModifiedDate":"", // 最后修改日期
                "childs":[] // 子节点
            }
        ],
        "accounts":[
            {
                "id":"", // id               
                "alias":"", // 别名
                "accountName":"", // 账户名称
                "email":"", // 邮箱
                "phone":"", // 手机
                "realname":"", // 真实名称
                "gender":"", // 性别
                "createdDate":"", // 创建日期
                "lastModifiedDate":"", // 最后修改日期
                "orgId":"", // 组织id
                "userStatus":"", // 用户状态:正常NORMAL,禁用DISABLEL,冻结FREEZE,删除DELETE,未激活INACTIVATED,未加入NOT_JOIN,已拒绝REJECTED,注销LOGOUT
                "appAdmin":false
            }
        ]
      }

getOrgAndUserByIdToken

  • 说明:获取组织和用户

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    idToken idToken String
  • 响应参数:

    参数名称 参数说明 类型
    orgs 组织 List
    accounts 用户 List
    orgs参数名称 参数说明 类型
    id 组织id String
    name 组织名称 String
    pid 父id String
    createdDate 创建时间 String
    lastModifiedDate 最后修改日期 String
    childs 子节点 List
    accounts参数名称 参数说明 类型
    id id String
    alias 别名 String
    accountName 账户名称 String
    email 邮箱 String
    phone 手机 String
    realname 真实名称 String
    gender 性别 String
    createdDate 创建日期 String
    lastModifiedDate 最后修改日期 String
    orgId 组织id String
    userStatus 用户状态:正常NORMAL,禁用DISABLEL,冻结FREEZE,删除DELETE,未激活INACTIVATED,未加入NOT_JOIN,已拒绝REJECTED,注销LOGOUT String
    appAdmin 是否管理员 Boolean
  • 示例:

      {
        "orgs":[
            {
                "id":"", // 组织id 
                "name":"", // 组织名称 
                "pid":"", // 父id 
                "createdDate":"", // 创建时间
                "lastModifiedDate":"", // 最后修改日期
                "childs":[] // 子节点
            }
        ],
        "accounts":[
            {
                "id":"", // id               
                "alias":"", // 别名
                "accountName":"", // 账户名称
                "email":"", // 邮箱
                "phone":"", // 手机
                "realname":"", // 真实名称
                "gender":"", // 性别
                "createdDate":"", // 创建日期
                "lastModifiedDate":"", // 最后修改日期
                "orgId":"", // 组织id
                "userStatus":"" // 用户状态:正常NORMAL,禁用DISABLEL,冻结FREEZE,删除DELETE,未激活INACTIVATED,未加入NOT_JOIN,已拒绝REJECTED,注销LOGOUT
            }
        ]
      }

getTenantAdmin

  • 说明:获取管理员

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
  • 响应参数:

    参数名称 参数说明 类型
    id id String
    phone 手机号 String
    alias 昵称 String
    owner Boolean
  • 示例:

[
  {
    "id": "", // id
    "phone": "", // 手机号
    "alias": "", // 昵称
    "owner": false
  }
]

getAppGroupListByTenantId

  • 说明:获取代理商应用组列表

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
  • 响应参数:

    参数名称 参数说明 类型
    id id String
    name 组名称 String
  • 示例:

[
  {
  "id": "", // id
  "name": "" // 组名称
	}
]

getAppByGroupId

  • 说明:获取代理商应用组下的应用

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    groupId 组id String
  • 响应参数:

    参数名称 参数说明 类型
    id id String
    name 应用名称 String
    icon 应用图标 String
    desc 应用描述 String
  • 示例:

[
  {
  "id": "", //id
  "name": "", // 应用名称
  "icon": "", // 应用图标
  "desc": ""  // 应用描述
  }
]

getGroupListByTenantId

  • 说明:获取租户的组列表

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
    type 租户组类型COMPANY=公司;DEPART=组织 String
  • 响应参数:

    参数名称 参数说明 类型
    id 组id String
    name 组名称 String
  • 示例:

[
  {
  "id": "",// 组id
  "name": "" // 组名称
	}
]

getTenantGroupByGroupId

  • 说明:获取租户组下的租户信息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    groupId 组id String
    type 租户组类型COMPANY=公司;DEPART=组织 String
  • 响应参数:

    参数名称 参数说明 类型
    tenants 租户 Object
    name 组名称 String
    id 组id String
    childs 下级 List
    tenants参数名称 参数说明 类型
    id 租户id String
    name 租户名称 String
  • 示例:

[
  {
    "tenants": [
      {
        "name": "", // 租户名称
        "id": ""	// 租户id
      }
    ],
    name:"", // 组名称
    id:"", // 组id
    childs:[] // 下级
	}
]

getChildTenantGroupByTenantId

  • 说明:获取租户所在组及其组下的租户信息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
    type 租户组类型COMPANY=公司;DEPART=组织 String
  • 响应参数:

    参数名称 参数说明 类型
    tenants 租户 Object
    name 组名称 String
    id 组id String
    childs 下级 List
    tenants参数名称 参数说明 类型
    id 租户id String
    name 租户名称 String
  • 示例:

[
  {
    "tenants": [
      {
        "name": "", // 租户名称
        "id": ""	// 租户id
      }
    ],
    name:"", // 组名称
    id:"", // 组id
    childs:[] // 下级
	}
]

msgEventConfirm

  • 说明:事件消息确认

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    appId 应用id String
    tenantId 租户id String
  • 响应参数:无

checkGroupAdminByTenantId

  • 说明:检查租户是否是租户组所有者

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
  • 响应参数:

    参数名称 参数说明 类型
    boolean true或false Boolean

getTenantInfoByTenantId

  • 说明:根据租户id获取租户信息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    tenantId 租户id String
  • 响应参数:

    参数名称 参数说明 类型
    id 租户id String
    name 租户名称 String
    code 统一社会信用代码 String
    staffSize 人员规模 XS: 1-25名员工(微信企业) *S: 26-99名员工(小型企业) M: 100-999名员工(中型企业) L: 1000+名员工(大型企业) String
    province AreaDTO
    city AreaDTO
    county AreaDTO
    address 详细地址 String
    logo 企业logo String
    industryCategoryName 所属行业名 String
    legalPersonName 法定代表人 String
    createdDate 成立时间 String
    isv 是否isv服务商 boolean
    AreaDTO参数名称 参数说明 类型
    id id String
    name 名称 String

msgSendMessage

  • 说明:应用发送订阅消息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    messageType 消息类型 0:应用消息 String
    message 消息 Object
    Message参数名称 参数说明 是否必须 参数类型
    accountId 接收者id List
    content 消息内容 String
    title 消息标题 String
    receiveType 发送方式 COMMON:站内信 String
    logo 消息类型logo String
    category 消息类型 String
    templateId 模板id String
    map 参数 Map
    clientId 应用id,默认当前应用id String
    topicId 主题id String
    extra 额外参数 Map
    msgWebAction web端消息行为 Object
    msgMobileAction 手机端消息行为 Object
    MsgWebAction参数名称 参数说明 是否必须 参数类型
    messageAction 跳转方式 url链接跳转:URl_JUMP String
    url 跳转链接 String
    MsgMobileAction参数名称 参数说明 是否必须 参数类型
    messageAction 跳转方式 url链接跳转:URl_JUMP String
    url 跳转链接 String
  • 响应参数:

    参数名称 参数说明 类型
    msgId 消息id数组 Array[MessageId]
    MessageId参数说明 参数说明 类型
    msgId 消息id String

| accountId | 账号id | String |

msgDealMessage

  • 说明:处理待办消息

  • 参数:

    参数名称 参数说明 是否必须 参数类型
    ids 消息id String
  • 响应参数:无

版本更新记录

0.0.2-RELEASE

  • 新增开放能力获取组织和用户接口LicosOrgUserDTO getOrgAndUser(String tenantId, Date updateTime, String idToken)

0.0.3-RELEASE

  • 删除应用相关开放能力

0.0.4-RELEASE

  • 修改开放能力获取组织和用户接口LicosOrgUserDTO getOrgAndUser(String tenantId, Date updateTime, String idToken)返回值
  • 新增开放能力获取租户id下的组织和用户接口LicosOrgUserDTO getOrgAndUserByTenantId(String tenantId)
  • 新增开放能力获取idToken下的组织和用户接口LicosOrgUserDTO getOrgAndUserByIdToken(String idToken);

0.0.5-RELEASE

  • 删除配置licos.oauth2.client.provider.authorization-uri,licos.oauth2.client.provider.token-uri,licos.oauth2.client.provider.user-info-uri,新增配置licos.oauth2.client.provider.auth-uri
  • 废弃一些开放能力接口
    • LicosOpenUserInfoDTO getUserInfo(String idToken);
    • LicosPage pageUserInfo(Integer pageIndex, Integer pageSize, String orgId, String keywords, String idToken);
    • List getOrgTree(String idToken);
    • List getOrgTypeEnum(String idToken);
    • LicosPage getOrgInfoByType(Integer pageIndex, Integer pageSize, String type, String idToken);
    • void addOrg(LicosOrgAddDTO licosOrgAddDTO, String idToken);
    • void removeOrg(String orgId, String idToken);
    • List getRoleByAccountId(String accountId, String idToken);
    • List getRoleList(String orgId, String idToken);
  • 新增开放能力接口:
    • LicosOpenUserInfoDTO getUserInfoByAccountId(String accountId);
    • LicosPage pageUserInfoList(Integer pageIndex, Integer pageSize, String orgId, String tenantId, String keywords);
    • List getOrgTreeList(String tenantId);
    • List getOrgTypeEnum();
    • LicosPage getOrgByType(Integer pageIndex, Integer pageSize, String type, String tenantId);
    • void addOrg(LicosOrgAddDTO licosOrgAddDTO);
    • void removeOrg(String orgId);
    • List getRoleByAccountId(String accountId);
    • List getTenantAdmin(String tenantId);
    • List getRoleList(String orgId);

0.0.6-RELEASE

  • 新增一些开放能力接口:
    • List getAppGroupListByTenantId(String tenantId);
    • List getAppByGroupId(String groupId);
    • List getGroupListByTenantId(String tenantId);
    • List getTenantGroupByGroupId(String groupId);
    • List getChildTenantGroupByTenantId(String tenantId);

0.0.7-RELEASE

  • 修改一些开放能力接口:
    • List getGroupListByTenantId(String tenantId,String type);
    • List getTenantGroupByGroupId(String groupId,String type);
    • List getChildTenantGroupByTenantId(String tenantId,String type);

0.0.8-RELEASE

  • 新增一些开放能力接口:
    • void msgEventConfirm(String msgId, MsgStatus status);
    • Boolean checkGroupAdminByTenantId(String tenantId);

0.0.9-RELEASE

  • 删除配置licos.oauth2.client.provider.registration.redirect-uri,新增配置licos.oauth2.client.provider.registration.redirect-uris
  • 废弃一些认证接口:
    • String getAuthorizeUrl();
    • String getAuthorizeUrl(String state);
  • 废弃一些开放能力接口:
    • public LicosOrgUserDTO getOrgAndUserByIdToken(String idToken)
  • 新增认证接口:
    • String getAuthorizeUrl(String key, String state);
  • 新增开放能力接口:
    • LicosTenantDetailDTO getTenantInfoByTenantId(String tenantId);
  • 修改开放能力接口:
    • public LicosOrgUserDTO getOrgAndUserByTenantId(String tenantId);新增管理员字段

0.0.10-RELEASE

  • 开放能力新增消息接口:
    • void msgSendMessage(LicosMsgSendDTO licosMsgSendDTO);
    • void msgDealMessage(List ids);

0.0.11-RELEASE

  • 开放能力修改消息接口:
    • LicosSendSubscribeDTO msgSendMessage(LicosMsgSendDTO licosMsgSendDTO);新增返回消息信息

0.0.12-RELEASE

  • 开放能力修改消息接口:
    • LicosSendSubscribeDTO msgSendMessage(LicosMsgSendDTO licosMsgSendDTO);返回实体信息修改

0.0.13-RELEASE

  • 开放能力修改消息接口:
    • void msgEventConfirm(String appId, String tenantId);传递参数修改

1.0.0-RELEASE

  • 开放能力添加接口返回参数:
    • LicosTenantDetailDTO getTenantInfoByTenantId(String tenantId);添加是否isv服务商字段

本页目录

联系我们
客服热线
0871-63302133 0871-63302233
办公时间
08:30 - 17:30 售后:7*24小时
地址
昆明市盘龙区新兴路霖岚国际广场A座31楼/8楼
关注我们
扫码在线咨询
关注联诚科技
版权所有 © 2013-2025 联诚科技集团股份有限公司 All Rights Reserved 滇ICP备09007384号-2
app
请用手机浏览器扫码下载

分享