臭名昭著aTrust隔离计划1.臭名昭著aTrust隔离计划2.VPN原理与aTrust隔离网络实践3.docker-easyconnect到底做了什么4.TUN(tunnel-隧道-虚拟网卡)模式
个人项目
personal(个人展示)GitHub Actions 自动部署个人展示项目
基于Quartz搭建的个人博客1.Quartz个人博客使用教程2.使用 rsync 增量部署 Quartz 博客3.使用 GitHub Actions 自动部署 Quartz 博客5.域名绑定6.CDN加速Obsidian、双向链接与知识图谱
旅行
行程攻略青岛三日游行程攻略
前端
NginxNginx配置与反向代理入门
Nodenpm与npx的区别
中华财险-公司项目
对外接口文档
基础数据码表对外接口(仅支持rpc调用)业务码表对外接口应用主数据对外接口
基础运营查询版本更新日志详情消息中心对外接口站内信对外接口站内信模板配置手册
权限中心权限中心对外接口文档(最新)权限中心对外接口文档前端ACL-CORE FACADE依赖版本
审计中心审计中心对外接口文档audit-center-facade版本
审批中心工作流迁审批流现状工作流迁审批流API能力替换方案老审批流接口文档审批中心接口文档审批中心业务回调FAQ
账号中心内部系统对接单点登录内部系统对接认证中心三方网页应用登录授权账号中心对外接口文档前端账号中心RPC接口文档账户变更对外广播消息文档账户中心对外接口HRMS外部员工变更广播消息文档HRMS外部员工对外接口
组织员工岗位🔥机构映射SDK接口文档员工岗位变更通知说明组织机构管营一体概念与用法组织员工对外广播消息文档组织员工岗位对外接口文档组织员工岗位对外接口文档前端组织员工岗位数据模型组织员工主数据业务场景案例organization-facade版本
hrms(大型人力资源外包管理系统)
项目架构说明HRMS Maven模块与依赖说明
项目说明0.流程中心模块0.组织模块说明1.业务线模块2.计划模块3.项目模块4.协议模块5.供应商模块6.合约域模块7.外包人员模块*核心:外包人员生命周期
项目运维外包人员项目编制差异排查与修复2.HRMS相关问题排查4.修改externalId(externalId和accountId不一致)
需求-系分
1.内部转外包0723外包人员关联历史内部账号系分新增外包人员关联历史账号内容(紧急0723上线)需求
2.工作岗位0820工作岗位0820需求工作岗位0820需求-系分
3.用工模式调整0917内部人员转外包用工系统需求2内部人员转外包用工系统需求-系分
sso(账号中心-单点登录)
项目架构说明aboss-sso项目架构入门AOP统一日志打印链路Maven多模块项目高级知识OAuth2.0
项目说明1.SSO-OAuth2.0与IDaaS登录流程2.外部账号创建流水号并发问题分析
AI
使用说明
第三方插件&技能简介Archify使用与安装指南Ponytail使用指南
CodexCodex CLI与IDE区别及使用指南Codex Hook单独配置与提交通知Codex MCP安装与使用指南Codex第三方插件安装与使用指南
Agent开发1.LLM、Token、上下文窗口与模型参数2.大模型 API、请求参数与响应结构3.Spring AI ChatClient4.Prompt、System Prompt、Prompt 模板6.结构化输出、JSON Schema7.SSE 流式响应8.会话 ID、聊天记录、Redis9.超时、重试、限流、降级10.完成可运行聊天接口
GitGit常用命令与Obsidian推送排查
Java
面试题Java基础与集合面试题
AtomicInteger原子计数与并发安全ConcurrentHashMap并发安全与计数Java线程、线程池与Future
python
基础Python基础语法
HTTPXHRMS员工详情接口调用(Python HTTPX)

https://cic_irc.yuque.com/tyl581/ggwv9w/elucozu6sgklyr7g

二方包坐标

<dependency>
  <groupId>com.aliyun.fsi.insurance</groupId>
  <artifactId>aboss-sso-client</artifactId>
  <version>1.3.4-RELEASE</version>
</dependency>

账密登录

METHOD: com.aliyun.fsi.insurance.sso.api.LoginFacade

ResultModel<LoginTokenDTO> loginByPassword(PasswordLoginCmd passwordLoginCmd);

Body-parameters:

ParameterTypeDescriptionRequiredSince
usernamestring用户名true-
passwordstring密码true-
appIdstringappIdtrue-

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /platform/api/aboss/sso/login-by-password --data '{
  "username": "sanford.murazik",
  "password": "sxeap7",
  "appId": "81"
}'

Response-example:

{
    "status": 1,
    "message": null,
    "data": {
        "key": "cic-htoken",
        "value": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJiMGNjNzA2MTMxN2I5YzNmMjE5OThjZWVhYzQ2MDkwNlVvSHhFR1N5VFozIiwiYXBwSWQiOiJiMGNjNzA2MTMxN2I5YzNmMjE5OThjZWVhYzQ2MDkwNlVvSHhFR1N5VFozIiwiYWNjZXNzVG9rZW4iOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPbHNpWlc1MFpYSndjbWx6WlY5dGIySnBiR1ZmY21WemIzVnlZMlVpTENKaVptWmZZWEJwWDNKbGMyOTFjbU5sSWwwc0ltVjRjQ0k2TVRZMk5UY3dORE16T1N3aWRYTmxjbDl1WVcxbElqb2lNVEF4TURBd01USXpNeUlzSW1wMGFTSTZJalF6TVRVeE5HVXlMVGc1TXpJdE5HRTFZUzA0TURZMUxUZGtPRE16TmpKbE5tVTRNU0lzSW1Oc2FXVnVkRjlwWkNJNkltSXdZMk0zTURZeE16RTNZamxqTTJZeU1UazVPR05sWldGak5EWXdPVEEyVlc5SWVFVkhVM2xVV2pNaUxDSnpZMjl3WlNJNld5SnlaV0ZrSWwxOS5leWRHdWtRd185dWdWOUpOX0ttVzZ2YjBPYkR4RTA1WHN3MXJ4anpyM0pVIiwiZXhwIjoxNjY1NzA0MzM5LCJpYXQiOjE2NjU2NjExMzksImp0aSI6IjMyYzgwODUxLWQwOGItNGY1Yi1iZjk3LTNhZDBjYTRhMTczZCJ9.n7R_XPbyoDTqx_SkzSKSNOaW6u1-psWR5sz9_1gVrH0",
        "expires": 43200
    },
    "needRetry": false,
    "extendInfo": null,
    "pageSize": 0,
    "totalCount": null,
    "pageIndex": 0,
    "digetValues": [],
    "digestLog": "-"
}

登录成功后写cookie(key:cic-ctoken),同时返回token信息,字段名如下

字段名含义是否必填备注
keytoken对应key鉴权时放到header中的key值
valuetoken对应value鉴权时放到header中的value值
expirestoken过期时间token过期时间(s)

退出登录

METHOD: com.aliyun.fsi.insurance.sso.api.LoginFacade

ResultModel<Void> logout(UserInfoQry userInfoQry);

Body-parameters:

ParameterTypeDescriptionRequiredSince
tokenstring登录tokentrue-

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /platform/api/aboss/sso/log-out --data '{
  "token": "lef1oq"
}'

Response-example:

{
  "status": 1,
  "message": null,
  "data": null,
  "needRetry": false,
  "extendInfo": null,
  "pageSize": 0,
  "totalCount": null,
  "pageIndex": 0,
  "digetValues": [],
  "digestLog": "-"
}

获取登录账号信息

METHOD**:** com.aliyun.fsi.insurance.sso.api.LoginFacade#userInfo(com.aliyun.fsi.insurance.sso.dto.UserInfoQry)

Body-parameters:

ParameterTypeDescriptionRequiredSince
tokenstring登录tokentrue-

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /platform/api/aboss/sso/user-info --data '{
  "token": "wmkise"
}'

Response-example:

{
  "status": 1,
  "message": null,
  "data": {
    "accType": "73fh1y",
    "accId": "1",
    "username": "emmitt.bashirian",
    "personNo": "vf1qhs",
    "personName": "emmitt.bashirian"
  },
  "needRetry": false,
  "extendInfo": null,
  "pageSize": 0,
  "totalCount": null,
  "pageIndex": 0,
  "digetValues": [],
  "digestLog": "-"
}

外部登录接口

oauth2登录

URL: /platform/api/aboss/sso/external/oauth2-login

Type: POST

Author: ZH

Content-Type: application/json; charset=utf-8

Description: oauth2登录

com.aliyun.fsi.insurance.sso.api.ExternalLoginFacade#oauth2Login

Body-parameters:

ParameterTypeDescriptionRequiredSince
appIdstring登录appIdtrue-
loginCodestringoauth2登录codetrue-

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /platform/api/aboss/sso/external/oauth2-login --data '{
  "appId": "40",
  "loginCode": "45623"
}'

Response-fields:

FieldTypeDescriptionSince
keystring登录成功返回的token键-
valuestring登录成功返回的token值-
expiresint64token超时时间(秒)-
accessTokenstring登录成功返回的token值废弃

Response-example:

{
  "key": "nkp25j",
  "value": "badbo2",
  "expires": 591,
  "accessToken": "jwf2bq"
}

根据token查询用户信息

URL: /platform/api/aboss/sso/external/userinfo

Type: POST

Author: ZH

Content-Type: application/json; charset=utf-8

Description: oauth2登录

com.aliyun.fsi.insurance.sso.api.ExternalLoginFacade#userInfo

Body-parameters:

ParameterTypeDescriptionRequiredSince
loginTokenstring登录tokentrue-

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /platform/api/aboss/sso/external/userinfo --data '{
  "loginToken": "0kzswq"
}'

Response-fields:

FieldTypeDescriptionSince
accRolestring账户角色(1-普通用户,2-超管)-
accTypestring账户类型(0-内部,1-外部)-
accIdstring账户Id-
usernamestring账户名称(登录账户名)-
personNostring员工编号-
personNamestring人员名称-
substring账户Id-
channelTypestring渠道来源 idaas-
permissionCodestring授权码-

Response-example:

{
  "accRole": "kesg41",
  "accType": "lzbps8",
  "accId": "40",
  "username": "livia.koss",
  "personNo": "nw1hay",
  "personName": "livia.koss",
  "sub": "oxj4h8",
  "channelType": "hsbccj",
  "permissionCode": "45623"
}