Heyuan 11 kuukautta sitten
vanhempi
commit
b80864b3a6

+ 1099 - 0
项目资料/一期/统一身份云平台认证-单点登录对接文档.docx

@@ -0,0 +1,1099 @@
+                                                                               
+                                                                               
+                                          金地(集团)股份有限公司 
+                                                    统一身份云平台项目
+
+                          认证与同步接口文档
+
+
+
+
+
+
+
+
+
+                                     V1.4
+修订记录
+版本号
+产品版本号
+修改人
+修改日期
+审核人
+修改点
+V1.0
+
+李荣新
+2021-04-02
+
+创建文档
+V1.1
+
+李荣新
+2021-04-21
+
+1.修改移动端应用集成方案
+2.推送数据同步方案增加接口说明
+V1.3
+
+李荣新
+2021-05-26
+
+1.补充请求授权地址的使用说明
+2.补充oauth的获取用户信息接口的返回信息说明
+V1.4
+
+李荣新
+2021-06-07
+
+1.4.1.3.5改为下拉接口对象属性说明
+
+
+                                   目  录
+1	引言	3
+1.1.	编写目的	3
+1.2.	读者对象	3
+1.3.	术语定义	3
+2	接口调用说明	3
+2.1.	认证服务接口地址	3
+2.2.	数据服务接口地址	3
+2.3.	移动端接口地址	4
+3	认证接口说明	4
+3.1.	Oauth认证接口	4
+3.1.1.	认证流程	4
+3.1.2.	接口介绍	5
+3.1.3.	OAuth错误码参考	12
+3.2.	Restful认证接口	12
+3.2.1.	应用认证流程	13
+3.2.2.	REST认证接口	14
+3.2.3.	接口调用注意事项	22
+4	属性说明	75
+4.1.	用户属性说明	75
+4.2.	组织机构属性说明	76
+引言
+编写目的
+本文档编写目的在于明确统一身份云平台接口API文档说明,以供参考。
+读者对象
+软件开发人员、项目实施人员、系统测试人员和项目管理人员。
+术语定义
+  名  称
+  定   义
+用户
+用户即在统一身份云平台中的用户身份标识。
+账号
+账号即在各个应用系统中的用户身份标识。
+组织架构
+用户的基本属性之一,标识用户的隶属关系。
+
+接口调用说明
+调用接口所需信息:
+(注:每个业务系统passid和token信息都不同,由统一身份云平台设置)
+应用标识PaasId:
+应用密钥/Token:
+认证服务接口地址
+测试环境地址:https://iamtest.gemdale.com:18010
+生产环境地址:https://iam.gemdale.com:18010
+认证服务参数说明:
+(注:每个业务系统以下参数信息都不同,找统一身份云平台单独提供)
+client_id:
+client_secret:
+username:
+password:
+
+数据服务接口地址
+https:// (上下文详见接口说明)
+数据服务参数说明:
+(注:每个业务系统以下参数信息都不同,找统一身份云平台单独提供)
+systemCode:
+integrationKey:
+
+认证接口说明
+Oauth认证接口
+
+认证流程
+                                        
+接口介绍
+请求授权地址(认证登录页)
+应用系统检测自身会话是否登录。如果未登录,则跳转访问该请求授权地址。
+ 如果统一身份云平台会话不存在,访问此地址会跳转至认证登录页面,显示应用配置的认证方式,用户完成登录后跳转到指定的回调地址,带上code。如果请求参数中传入了state,这里会带上原始的state值。
+ 如果统一身份云平台会话已存在,访问此地址则会直接跳转到指定的回调地址,带上code。如果请求参数中传入了state,这里会带上原始的state值。
+
+接口名
+authorize
+URL Path
+认证服务接口地址/idp/oauth2/authorize
+请求类型
+GET
+请求示例
+认证服务接口地址/idp/oauth2/authorize?
+redirect_uri=https://www.baidu.com&state=xxxx&client_id=xxxxx&response_type=code
+参数
+参数名
+中文说明
+描述
+
+client_id
+应用标识
+应用标识ID ,由统一身份云平台提供
+
+redirect_uri
+跳转地址
+认证成功后的跳转地址(url编码)
+
+response_type
+响应类型
+code(固定值)
+
+state
+任意值
+用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置。这个参数可用于防止跨站请求伪造(CSRF)攻击
+处理逻辑
+   判断参数
+   验证client_id是否有效
+   校验redirect_uri,BAM-CONSOLE中可填写多URL(以";"分隔),判断参数中的URL是否以BAM-CONSOLE中填写的URL开头(此功能可选择是否启用)
+   显示认证授权页面。
+   验证身份后页面跳转至redirect_uri并附有参数授权码
+   
+返回值
+类型:String。
+以上文中的回调地址为百度为例,授权完成后会跳转至https://www.baidu.com/?code=ae1838f40638e218bc90a92df3091793&state=123456。携带参数code和state。
+参数不完整及错误时:会在idp错误页面进行显示。
+client_id缺失时:Invalid_request, Missing parameters: client_id
+redirect_uri缺失时:Invalid_request, Missing parameters: redirect_uri
+grant_type缺失时:Invalid_request, Missing parameters:response_type
+client_id无效时:Unauthorized_client, Client id not accept
+redirect_uri无效时:Unauthorized_redirect_uri,Redirect_uri not accept
+grant_type无效时:Unsupported_response_type,Response_type id not accept
+描述
+
+ 
+认证成功后示例:
+
+
+获取授权接口
+接口名
+getToken
+URL Path
+认证服务接口地址/idp/oauth2/getToken
+请求类型
+POST 
+请求参数示例
+认证服务接口地址/idp/oauth2/getToken?client_id=xxxxxx&
+grant_type=authorization_code&code=xxxxxx&client_secret=xxxxxx
+参数
+参数名
+中文说明
+描述
+
+client_id
+应用标识
+客户端应用注册ID
+
+client_secret
+密钥
+客户端应用注册密钥
+
+code
+授权码
+调用authorize接口获得的授权码code
+
+grant_type
+认证方式
+请求类型,默认authorization_code
+处理逻辑
+ 验证参数有效性
+ 验证授权码有效性及范围
+ 根据以上判断、验证及认证结果返回JSON数据
+返回值
+类型:JSON
+正确返回时:
+{   
+	"access_token":"skiew234i3i4o6uy77b4k3b3v2j1vv53j"
+  	"expires_in":"1500",
+  "refresh_token":"iewoer233422i34o2i34uio55iojhg6g"
+  "uid":"admin"
+} 
+
+参数不完整及错误时: 
+client_id缺失时	
+  {  
+	"errcode": "1001", 
+  	"msg": "缺少参数client_id"  
+  } 
+code缺失时: 
+  {  
+	"errcode": "1009", 
+  	"msg": "缺少参数code"  
+  } 
+grant_type缺失时: 
+  {  
+	"errcode": "1010", 
+  	"msg": "缺少参数grant_type
+  } 
+client_secret缺失时: 
+  {  
+	"errcode": "1008", 
+  	"msg": "缺少参数client_secret"  
+  } 
+client_id无效时: 
+  {  
+	"errcode": "1005", 
+  	"msg": "参数client_id非法"  
+}
+code无效时: 
+  {   
+	"errcode": "1014 
+  	"msg": "参数code非法
+}
+{
+    "errcode": "1012",
+    "msg": "参数client_secret非法"
+}
+描述
+OAuth获取授权Token接口可以获得access_token、expires_in、refresh_token、uid。access_token用于获取用户信息,expires_in是access_token有效时长,时长在console应用注册时配置。refresh_token可在access_token到期后进行刷新续期,uid为登录用户uid.
+接口调用工具示例
+
+
+刷新授权接口(可选)
+接口名
+refreshToken
+URL Path
+认证服务接口地址/idp/oauth2/refreshToken
+请求类型
+POST
+支持格式
+JSON         
+请求示例
+认证服务接口地址/idp/oauth2/refreshToken
+
+Params:
+  client_id:oauth2,
+  client_secret:75f7434d652f4da2a2ee6d32b217d04d,
+  refresh_token:3d2feea0ca9d1d9aa956523f7b35ff27,
+  grant_type:refresh_token
+参数
+参数名
+中文说明
+描述
+
+client_id
+应用标识
+客户端应用注册ID
+
+client_secret
+密钥
+客户端应用注册密钥
+
+refresh_token
+
+刷新token授权码
+
+grant_type
+认证方式
+请求类型,默认refresh_token
+处理逻辑
+ 判断参数
+ 验证参数有效性
+ 根据以上判断、验证及认证结果返回JSON数据
+返回值
+类型:String,即:以JSON格式返回角色数据集
+参数不完整及错误时: 
+client_id缺失时	
+  {  
+	"errcode": "1001", 
+  	"msg": "缺少参数client_id"  
+  } 
+refresh_token缺失时: 
+  {  
+	"errcode": "1024"
+  	"msg": "缺少参数refresh_token,值不能为空"
+  } 
+grant_type缺失时: 
+  {  
+	"errcode": "1010", 
+  	"msg": "缺少参数grant_type "
+  } 
+client_secret缺失时: 
+  {  
+	"errcode": "1008", 
+  	"msg": "缺少参数client_secret"  
+  } 
+client_id无效时: 
+  {  
+	"errcode": "1005", 
+  	"msg": "参数client_id非法"  
+}
+refresh_token无效时
+  {   
+	"errcode": "1025"
+  	"msg": "参数refresh_token不正确或过期"
+}
+grant_type无效时: 
+  {  
+	"errcode": "1013", 
+  	"msg": "参数grant_type非法"
+}
+正确返回时:
+{   
+	"access_token":"skiew234i3i4o6uy77b4k3b3v2j1vv53j"
+  	"expires_in":"1500",
+  "refresh_token":"iewoer233422i34o2i34uio55iojhg6g"
+}
+
+返回参数
+参数名
+中文说明
+描述
+
+errcode 
+错误代码
+
+
+msg
+提示信息
+
+
+access_token
+获取的授权码token值
+
+
+refresh_token
+刷新授权码token
+根据刷新token可以生成新的token
+
+expires_in
+授权码有效时间(秒)
+
+描述
+根据刷新token生成新的token;若token有效期为3分钟,可以3分钟刷新,保证token有效性
+接口调用工具示例
+
+获取用户信息接口
+接口名
+getUserInfo
+URL Path
+认证服务接口地址/idp/oauth2/getUserInfo
+请求类型
+GET
+请求示例
+认证服务接口地址/idp/oauth2/getUserInfo?access_token=46e4d79fc6384105e157465032c9684e&client_id=20170830061623854-E5A8-B2FABDC35
+请求参数
+参数名
+中文说明
+描述
+
+client_id
+应用标识
+String
+
+access_token
+授权码token值
+String,认证接口中返回的授权码
+处理逻辑
+ 判断参数
+ 验证参数有效性
+ 根据以上判断、验证及认证结果返回JSON数据
+返回值
+类型:String,即:以JSON格式返回角色数据集
+参数不完整及错误时: 
+client_id缺失时	
+{  
+	"errcode": "1001", 
+	"msg": "缺少参数client_id"  
+} 
+access_token缺失时: 
+{  
+	"errcode": "2001"
+	"msg": "缺少参数access_token "
+}  
+client_id无效时: 
+{  
+	"errcode": "1005", 
+	"msg": "参数client_id非法"  
+}
+access _token无效时
+{   
+	"errcode": "2002"
+	"msg": "参数access _token不正确或过期"
+}
+
+正确返回时:
+{   
+	"spRoleList":["ceshi00002"],
+"displayName":"ceshi00002"
+  }
+
+返回参数
+参数名
+中文说明
+描述
+
+errcode
+错误代码
+
+
+msg
+提示信息
+
+
+spRoleList
+账号名
+
+
+displayName
+姓名
+
+描述
+获取用户信息接口
+接口调用工具示例
+
+认证注销地址
+接口名
+GLO
+URL Path
+认证服务接口地址/idp/profile/OAUTH2/Redirect/GLO
+请求类型
+GET
+参数
+参数名
+中文说明
+描述
+
+redirctToUrl
+回调url
+应用的登录地址
+注:url必须为一个完整有效的地址
+
+redirectToLogin
+true
+是否直接跳转至应用redirctToUrl,true为跳转至redirctToUrl,false为停留在idp退出展示页面
+
+entityId
+应用ID
+
+处理逻辑
+ 注销用户会话
+ 会话注销后调整至redirctToUrl参数的地址
+返回值
+参数不完整及错误时: 
+url缺失时	
+  {  
+	"errcode": "3002", 
+  	"msg": "缺少参数url"  
+  } 
+
+
+OAuth错误码参考
+                                    序号
+                                 错误代码
+错误说明
+                                       1
+                                     1001
+缺少参数client_id
+                                       2
+                                     1009
+缺少参数code
+                                       3
+                                     1010
+缺少参数grant_type
+                                       4
+                                     1008
+缺少参数client_secret
+                                       5
+                                     1005
+参数code非法
+                                       6
+                                     1024
+refresh_token值不能为空
+                                       7
+                                     1025
+参数refresh_token不正确或者过期
+                                       8
+                                     2001
+缺少参数access_token
+                                       9
+                                     2002
+参数access_token不正确或者过期
+
+
+Restful认证接口
+  统一认证服务的REST提供了认证接口、验证Token有效性接口和获取用户信息接口;同时为了实现SSO,提供了2个认证辅助接口,用于认证中心的票据获取和设置。应用可以根据这5个接口,编写应用的访问控制逻辑,实现SSO和访问控制。
+
+
+应用认证流程
+用户在应用系统登录界面输入账号、密码后,应用系统调用认证中心 REST认证接口对用户凭证进行验证,验证成功后,应用系统调用认证中心URL地址写单点登录票据,同时进入应用系统。
+  用户登录应用系统认证流程如下:
+                                        
+                          REST接口应用认证逻辑
+ 用户在应用登录界面输入登录凭证
+ 应用系统调用【认证接口】验证用户凭证,并获取用户认证(单点)票据。若验证失败,则显示应用登录界面,并展现友好提示信息;
+ 若用户凭证验证成功,则调用【设置票据接口】设置IDP票据; 
+如果验证单点登录票据成功,则调用【获取用户信息接口】接口获取用户信息,若用户信息获取失败,则应用系统重定向到应用登录页面,要求用户进行登录认证;否则,显示应用页面;
+
+
+REST认证接口
+认证接口
+  接口说明:
+接口名
+authenticate
+参数
+参数名
+中文说明
+  描述
+  
+appId
+应用标识
+应用在认证中心中注册的标识 
+  
+userName
+用户名
+用户登录名
+  
+password
+密码
+当采用用户名+密码认证时,传入密码
+当采用用户名+短信认证时,此参数被忽略(需要加密,可见以下加密文档)
+  
+checkcode
+短信验证码
+当采用用户名+密码认证时,此参数被忽略
+当采用用户名+短信认证时,传入短信验证码。短信验证码需要先通过"发送短信验证码"接口发到用户手机上。
+  
+authnMethod
+认证方式
+当采用用户名+密码认证时,传入UsernamePassword或不传
+当采用用户名+短信验证码认证时,传入UsernameSM
+  
+remoteIp
+客户端IP
+
+处理逻辑
+判断参数
+验证appId是否有效
+调用IDP认证接口
+Password 加密方法  
+根据以上判断、验证及认证结果返回JSON数据
+返回值
+  类型:String,即:以JSON格式返回角色数据集
+  参数不完整及错误时: 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "com.bamboocloud.am.rest.Authenticate", 
+  			"content": "Parameters_missing" 
+  		} 
+  } 
+  ] 
+  
+  短信校验码不正确时:
+  {"message":{"name":"login.form.error.smsCheckCode.invalidNumber","content":"001","count":"9"}}
+  
+  authnMethod不正确时: 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "com.bamboocloud.am.rest.Authenticate", 
+  			"content": "invalid_auth_method" 
+  		}
+  	}
+  ] 
+  
+  appId验证不通过时: 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "com.bamboocloud.am.rest.Authenticate", 
+  			"content": "invalid_appId" 
+  		}
+  	}
+  ] 
+  
+  用户密码认证通过时: 
+  [ 
+  	{ 
+  		"data": { 
+  			"tokenId": "MTkyLjE2OC4xMjguMQ==|NzI4Nzg5OWNiNDM0ZWRjMTMwMWM0Y2NjNDIzNzk3NjQ4MzRkNmVhODk4Y2MxMWZiMTY3MjZhOTM2ZmFmZGVhNA==|Qgai5XhdPTYWf9GbWfynyIySczY=" 
+  		}, 
+  		"message": null 
+  	}
+  ] 
+  
+  用户密码认证不通过时(多种异常): 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "login.form.error.userpass.invalidNumber", 
+  			"content": "9" 
+  		} 
+  	} 
+  ] 
+  或message.content中包含" need_change_password"、" password_expired"、" unknow_error"等情况。 
+URL Path
+  认证服务接口地址/idp/restful/IDPAuthenticate
+请求类型
+  GET、POST 
+描述
+  认证中心端用户登录认证REST接口 
+验证票据接口
+  接口说明:
+接口名
+isTokenValid 
+  参数
+参数名
+中文说明
+  描述
+  
+appId
+应用标识
+  SP在IDP中注册的标识 
+  
+tokenId
+用户票据
+  
+  
+remoteIp
+客户端IP
+  
+处理逻辑
+  判断参数 
+  验证appId是否有效 
+  验证tokenId是否有效 
+  根据以上判断、验证结果返回JSON数据 
+返回值
+  类型:String,即:以JSON格式返回角色数据集 
+  参数不完整及错误时: 
+  [
+  	{
+  		"data": null,
+  		"message": {
+  			"name": "com.bamboocloud.am.rest.IsTokenValid",
+  			"content": "Parameters_missing"
+  		}
+  	}
+  ]
+  
+  appId验证不通过时: 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "com.bamboocloud.am.IsTokenValid ", 
+  			"content": "invalid_appId" 
+  		} 
+  	} 
+  ] 
+  
+  tokenId格式不正确时: 
+  [
+  	{
+  		"data": null,
+  		"message": {
+  			"name": "com.bamboocloud.am.IsTokenValid ",
+  			"content": "wrong_tokenId_format"
+  		}
+  	}
+  ]
+  
+  token有效时返回: 
+  [ 
+  	{ 
+  		"data": { 
+  			"isValid": true 
+  		}, 
+  		"message": null 
+  	} 
+  ] 
+  
+  token无效时返回: 
+  [ 
+  	{ 
+  		"data": { 
+  			"isValid": false 
+  		}, 
+  		"message": null 
+  	} 
+  ] 
+  异常情况message.content中可能包含异常错误信息
+URL Path
+  认证服务接口地址/idp/restful/isIDPTokenValid
+请求类型
+  GET、POST
+描述
+  认证中心端用户SSO票据验证REST接口
+
+获取用户信息接口
+  接口说明:
+接口名
+  GetUserAttributes
+参数
+参数名
+中文说明
+  描述
+  
+appId
+应用标识
+  应用在认证中心中注册的标识 
+  
+tokenId
+用户票据
+  
+  
+remoteIp
+客户端IP
+  
+  
+attributeNames
+属性名
+  逗号分割字符串: "spOrgCodePath,sn,givenName,uid"
+  该参数没有时使用IDP默认的用户属性
+处理逻辑
+  判断参数
+  验证appId是否有效
+  验证tokenId是否有效
+  获取用户信息
+  根据以上判断及结果返回JSON数据
+返回值
+  类型:String,即:以JSON格式返回角色数据集 
+  参数正常且有attributeNames参数时: 
+  [ 
+  	{ 
+  		"data": { 
+  			"tokenId": "MTkyLjE2OC4xMjguMQ==|ODZlNTY2MzY5MWU4ZTkxYmZmNzEwMjVlNmFhNDdiMWMzYzZkMmQ3MjVmMTY3NzA5YTQxNDY0Y2ZhMjNhODgwZQ==|1m0nP3K952xf2r+xkj8bXpvXdw8=", 
+  			"attributes": { 
+  				"uid": [ 
+  					"dingkx" 
+  				], 
+  				"sn": [ 
+  					"丁" 
+  				], 
+  				"givenName": [ 
+  					"新星" 
+  				], 
+  				"spOrgCodePath": [ 
+  				"/10010000/10010001/30200000/30200018/30204583/" 
+  				] 
+  			} 
+  		}, 
+  		"message": null 
+  	} 
+  ] 
+  
+  参数正常且没有attributeNames参数时: 
+  [ 
+  	{ 
+  		"data": { 
+  			"tokenId": "MTkyLjE2OC4xMjguMQ==|MmI5OWRkMzJiZWI2MjEyZDk4ZDAzNTM1Y2EzMThhNjQ4YjIxZjU3ODBkODFmOTJiZTNmMGM5MTVkZjVkZGNlMg==|LAfSIly0VQGg8e2DuRyvjyEk3pM=", 
+  			"attributes": { 
+  				"spPositionNumber": [ 
+  					"00702837" 
+  				], 
+  				"uid": [ 
+  					"dingkx" 
+  				], 
+  				"spUpdateDate": [ 
+  					"201311180952Z" 
+  				], 
+  				"spOrgNumber": [ 
+  					"5030/0051" 
+  				], 
+  				"sn": [ 
+  					"丁" 
+  				], 
+  				"ou": [ 
+  					"工程建设(集团)有限责任公司第一工程处第二项目部" 
+  				], 
+  				"spPositionStatus": [ 
+  					"0" 
+  				], 
+  				"spPositionName": [ 
+  					"主任师" 
+  				], 
+  				"spRoleList": [ 
+  					"dingkx-4@应用系统名称应用系统名称应用系统名称应用系统名称应用系统10", 
+  					"dingkx-10@应用测试-apptest", 
+  					......
+  					"hesh.yssh@燕山中信关键业务管理系统", 
+  					"dingkx@TAM Service", 
+  					......
+  					"dingkx@应用系统名称应用系统名称应用系统名称应用系统名称应用系统13", 
+  				], 
+  				"givenName": [ 
+  					"新星" 
+  				], 
+  				"spOrgNamePath": [ 
+  					"/HR中信工程建设(集团)有限责任公司第一工程处第二项目部/" 
+  				], 
+  				"spEmployeeLevel": [ 
+  					"2" 
+  				], 
+  				"spOrgCodePath": [ 
+  				"/10010000/10010001/30200000/30200018/30204583/" 
+  				], 
+  				"spCountry": [ 
+  					"CN" 
+  				], 
+  				"departmentNumber": [ 
+  					"30204583" 
+  				], 
+  				"cn": [ 
+  					"丁可新" 
+  				], 
+  				"spIdentityType": [ 
+  					"01" 
+  				], 
+  				"spGender": [ 
+  					"1" 
+  				], 
+  				"displayName": [ 
+  					"丁可新" 
+  				], 
+  				"spPinYinShortName": [ 
+  					"dkx" 
+  				] 
+  			} 
+  		}, 
+  		"message": null 
+  	} 
+  ] 
+  
+  参数不完整及错误时: 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "com.bamboocloud.am.GetUserAttributes", 
+  			"content": "Parameters_missing" 
+  		} 
+  	} 
+  ] 
+  
+  tokenId格式不正确时: 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "com.bamboocloud.am.GetUserAttributes", 
+  			"content": "wrong_tokenId_format" 
+  		} 
+  	} 
+  ] 
+  
+  token无效时: 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "com.bamboocloud.am.GetUserAttributes", 
+  			"content": "invalid_token" 
+  		} 
+  	} 
+  ] 
+  
+  appId不正确时: 
+  [ 
+  	{ 
+  		"data": null, 
+  		"message": { 
+  			"name": "com.bamboocloud.am.GetUserAttributes", 
+  			"content": "invalid_appId" 
+  		} 
+  	} 
+  ] 
+  异常情况message.content中可能包含异常错误信息 
+URL Path
+认证服务接口地址/idp/restful/getIDPUserAttributes
+请求类型
+  GET、POST
+描述
+  认证中心端用户信息获取REST接口 
+  
+接口调用注意事项
+urlEncode编码
+  由于HTTP URL自身限制,无论REST接口还是认证辅助接口,传入的参数值如果包含例如"%"、"&"、" "、"="等特殊字符或中文时,需要先作urlEncode编码。推荐所有参数值先都作urlEncode编码再调用接口传入。
+HTTPS安全协议
+REST接口以及认证辅助接口说明、例子默认都采用HTTP协议,为增加安全性,实际部署时支持HTTPS协议。当采用HTTPS协议时,需要在应用服务器上信任DNS、IDP的服务器证书。
+
+错误码和错误信息说明
+
+错误名称
+错误代码
+count
+错误说明
+com.bamboocloud.am.rest.Authenticate
+Parameters_missing
+0
+参数为空或缺失时
+com.bamboocloud.am.rest.Authenticate
+invalid_appId
+0
+appid错误
+com.bamboocloud.am.rest.Authenticate
+invalid_auth_method
+0
+authmethod错误
+ogin.form.error.unsupported_appId
+009
+0
+使用用户名密码认证,但未配置该认证方式(多种异常)
+login.form.error.password.expired
+002
+
+用户密码已过期
+login.form.error.password.modifyPassword
+005
+0
+管理员强制修改密码
+login.form.error.username.locked
+004
+0
+用户被锁定
+login.form.error.username.isDisabled
+003
+0
+用户被禁用
+login.form.error.smsCheckCode.invalidNumber
+001
+4(依次递减直至锁定)
+验证码错误,用户名错误,被删除的用户(用户名短信)
+login.form.error.userpass.invalidNumber
+001
+4(依次递减直至锁定)
+userName,password错误,被删除的用户(用户名密码)
+
+
+
+属性说明
+用户属性说明
+说明:以下属性通过认证接口、数据接口均可获得,也可按照业务需要配置所需属性
+                                 属性名称
+                                   属性ID
+                                    类型
+                                      ID
+                                      id
+                                    STRING
+                                 员工类型
+                                    typeId
+                                    STRING
+                                所属主机构
+                                organizationId
+                                    STRING
+                                 机构列表
+                                    orgList
+                                    STRING
+                                 主要岗位
+                                    keyPost
+                                    STRING
+                                所属职务组
+                                   postList
+                                    STRING
+                                   用户名
+                                   username
+                                    STRING
+                                    姓名
+                                   fullname
+                                    STRING
+                                    邮箱
+                                     email
+                                    STRING
+                                   手机号
+                                    mobile
+                                    STRING
+                                   员工号
+                                  employeeNo
+                                    STRING
+                                 入职日期
+                                   startDate
+                                     DATE
+                                 离职日期
+                                    endDate
+                                     DATE
+                                    禁用
+                                  isDisabled
+                                    BOOLEAN
+                                    删除
+                                   isDeleted
+                                    BOOLEAN
+                                 更新日期
+                                   updateAt
+                                   TIMESTAMP
+                                 证件类型
+                                    IDType
+                                    STRING
+                                 证件号码
+                                     IDNo
+                                    STRING
+                                    性别
+                                   user_sex
+                                    STRING
+                                 座机号码
+                                   telephone
+                                    STRING
+                                 公司地址
+                                    address
+                                    STRING
+                                是否技能岗
+                                 isTechnology
+                                    BOOLEAN
+                              兼岗补充标识
+                                postSupplement
+                                    STRING
+                                    序号
+                                   sequence
+                                    STRING
+                                     GUID
+                                     guid
+                                    STRING
+
+
+组织机构属性说明
+说明:以下属性通过数据接口可获得,也可按照业务需要配置所需属性
+                                 属性名称
+                                   属性ID
+                                    类型
+                                      ID
+                                      id
+                                    STRING
+                                   机构树
+                                    treeId
+                                    STRING
+                                   父机构
+                                   parentId
+                                    STRING
+                                    名称
+                                     name
+                                    STRING
+                                    类型
+                                     type
+                                    STRING
+                                    代码
+                                     code
+                                    STRING
+                                    全名
+                                   fullname
+                                    STRING
+                                    描述
+                                  description
+                                    STRING
+                                    序号
+                                   sequence
+                                    INTEGER
+                                    禁用
+                                  isDisabled
+                                    BOOLEAN
+                                    删除
+                                   isDeleted
+                                    BOOLEAN
+                                 更新时间
+                                   updateAt
+                                   TIMESTAMP
+                                     GUID
+                                     guid
+                                    STRING
+                                 供应状态
+                                provisionStatus
+                                    STRING
+

+ 1 - 1
项目资料/一期/绩效开发/拓展人员联考核规则.docx

@@ -139,7 +139,7 @@
 累计完成签约额
                                  <门槛值
                             [门槛值, 目标值)
-                            [目标值, 挑战值)
+                            (目标值, 挑战值)
                                 >=挑战值
 其他条件
                                    降两档

+ 129 - 0
项目资料/一期/绩效开发/金地s-HR绩效考核操作手册20240612-V2.3.docx

@@ -0,0 +1,129 @@
+
+ 
+ 
+
+                                        
+ 
+                             人力资源信息化
+                                   s-HR项目
+                                  操作手册
+
+
+
+
+前言:
+  本文档旨在建立人力资源信息化金蝶s-HR项目人事模块操作手册,作为人事专员应用金蝶s-HR系统的操作指引。
+
+
+系统登录
+  打开浏览器( 谷歌 或 IE10内核以上浏览器),输入网址登录;
+  
+   【测试环境】登录地址:http://10.0.64.221:6888/shr/
+     
+注意事项
+  视图路径以操作路径为准
+实际操作
+
+正态分布排序    
+组织绩效与个人绩效基础数据维护
+  操作路径:【绩效管理】-->【正态分布】-->【组织绩效与个人绩效分布对应关系表】,如下图所示:
+  
+创建
+  
+编辑
+  
+  
+导入
+导入数据是确保比例务必等于100%否则会导入失败
+
+绩效考核正态分布-专员操作页面
+  操作路径:【绩效管理】-->【正态分布】-->【绩效考核正态分布】,如下图所示:
+创建周期
+修改周期
+进入详情页面
+这些列是可编辑列,修改数据后可点击保存按钮,保存数据
+
+启用排序:
+启动排序之前需要对部门进行评分,参考1.2.8
+启动排序会获取绩效结果得分数据,以及会排序顺序和计算评级
+
+反启用排序:
+把已启用排序数据状态更新为未启用排序
+锁定周期:
+锁定周期:当所有数据都为已提交才可锁定周期
+解锁周期:
+解除锁定周期
+
+组织维护得分
+
+导入
+维护导入数据导出
+计算考核正态分布页面
+  操作路径:【员工自助】-->【绩效考核正态分布】-->【计算考核正态分布】,如下图所示:
+保存
+维护数据后保存
+计算得分
+提交HR
+提交是会进行重新计算评级
+提交后会改变排序状态查看累计得分
+同步绩效结果
+同步绩效结果数据
+
+导入
+下载模板会带出页面所有的数据只可修改维护:修正标准绩效得分、修正标准绩效等级、领导计算得分、修改原因
+员工查看绩效得分结果
+  操作路径:【员工自助】-->【绩效考核正态分布】-->【员工查看绩效得分结果】,如下图所示:
+拓展人员绩效考核
+拓展人员绩效考核-专员
+  操作路径:【绩效管理】-->【拓展人员绩效考核】-->【拓展人员考核周期】,如下图所示:
+创建周期
+拓展人员明细-专员
+  
+导入
+导入:有两个模版分别至新增和修改模板
+新增模板:新增新的数据
+修改模板:带数据,只可修改门槛值、门槛值、挑战值、绩效评级、修改原因
+
+
+                                       
+                                       
+                                       
+
+
+维护季度比例
+启动考核前需要先维护季度比例
+
+启动考核/关闭考核
+蓝色列为可编辑列,启动考核后不可编辑
+启动考核:状态为启动考核,默认全部启动
+关闭考核:状态为未启动考核,勾选关闭
+
+
+锁定周期/解锁周期
+解锁周期:改变周期状态为周期未锁定
+锁定周期:所有负责人都提交了才可锁定
+
+撤回至负责人
+勾选需要撤回的数据,撤回之后状态会变成考核人已提交,
+这个时候负责人可以继续修改数据
+
+催办
+通知所有负责人该考核周期已经开始
+拓展人员绩效考核-考核人
+  操作路径:【员工自助】-->【拓展人员绩效考核】-->【考核人-拓展绩效考核】,如下图所示:
+拓展人员明细-考核人
+提交至负责人
+填写完的数据可以提交给负责人,提交之后不可修改
+导入
+拓展人员绩效考核-负责人
+  操作路径:【员工自助】-->【拓展人员绩效考核】-->【负责人-拓展绩效考核】,如下图所示:
+计算评级
+提交至专员
+  状态为负责人已提交的数据才可以提交至专员,提交之前必须先计算评级
+
+撤回至考核人
+  撤回数据至考核人继续修改
+导入
+  修改数据不可新增
+查看计算规则附件
+

BIN
项目资料/一期/薪酬开发/ehr 组织架构(1).xlsx


+ 0 - 160
项目资料/一期/薪酬开发/金地s-HR项目奖金核算功能操作手册20240529_V2.0.docx

@@ -1,160 +0,0 @@
-
-
-
-
-                                       
-
-                             人力资源信息化
-                                  s-HR项目
-                                  操作手册
-
-
-
-
-前言:
-  本文档旨在建立人力资源信息化金蝶s-HR项目人事模块操作手册,作为人事专员应用金蝶s-HR系统的操作指引。
-
-
-系统登录
-  打开浏览器( 谷歌 或 IE10内核以上浏览器),输入网址登录;
-  
- 【测试环境】登录地址:http://10.0.64.221:6888/shr/
-   
-  
-注意事项
-    如有事业部或项目新增,需要先将组织架构数据录入s-HR系统,再到对应奖金周期内执行同步事业部项目。
-    操作路径:【专业应用】-->【行政组织管理】-->【行政组织维护】-->【行政组织维护】 
-    
-    
-  视图路径以操作路径为准
-实际操作
-  
-项目经营奖金核算
-  业务流程:
-  
-
-
-奖金周期表(专员)
-  操作路径:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】,如下图所示:
-  
-奖金周期列表
-  
-  功能描述
-创建周期:新增奖金周期,会校验周期名称重复。
-修改周期名称:选中一个奖金周期数据后,单击"修改周期名称"按钮,进入奖金周期信息维护页面。
-删除:删除奖金周期数据,如果该周期下存在事业部项目数据则无法删除该周期。
-事业部项目表
-  
-  蓝色单元格表示可编辑,当事业部项目状态为启用或提交时,负责人和奖金分包金额不能修改!
-  功能描述
-保存:保存编辑单元格中的数据。
-返回奖金周期列表:返回上一级奖金周期列表。
-同步事业部项目:一键将组织架构中项目类型为事业部、直管项目、战略型项目、委托项目、共管项目的组织同步生成到事业部项目表。可重复执行,不会新增重复数据。
-维护奖金分配人员明细:单击该按钮,跳转到奖金分配人员明细列表。
-启用:选中事业部项目数据(可多选),将事业部项目状态更新为启用。启用前校验负责人和奖金分包金额是否为空,启用后负责人和奖金分包金额不可编辑。
-撤回:选中事业部项目数据(可多选),将状态为提交的事业部项目数据更新为启用状态。
-禁用:选中事业部项目数据(可多选),将状态更新为禁用,用于数据作废。
-锁定周期:当所有负责人提交事业部项目后,单击该按钮可锁定奖金周期,锁定后任何人都不能修改本周期内的数据。
-解锁周期:当奖金周期锁定后,单击该按钮可解锁周期。
-导入:提供模板带数据下载,支持数据批量更新导入,包含历史数据导入模板。
-导出:将页面数据以Excel形式导出。
-催办: 手动给本周期内所有启用未复核的的事业部项目负责人发送eip待办消息。默认每天上午九点自动触发催办任务。
-维护提醒内容:单据该按钮跳转到提醒内容维护页面。
-分配人员明细列表(已提交)
-
-
-  默认显示当前周期下所有已提交的奖金分配人员明细。
-  业务校验
- 个人初始比例只能在[0,1]之间。
-  功能描述
-保存:保存编辑单元格中的数据。
-返回事业部项目列表:返回上一级事业部项目表。
-导入:提供模板带数据下载,支持数据批量更新导入。
-计算:一键计算出选中事业部项目下所有人员的本期个人奖金额。
-提交至负责人核算:将计算后的分配人员数据提交给对应负责人复核。
-撤回提交:撤回负责人提交的分配人员数据。
-导出全部:将页面数据以Excel形式导出。
-
-分配人员明细列表(已计算)
-
-  默认显示当前周期下所有已计算的奖金分配人员明细。
-  功能描述
-返回事业部项目列表:返回上一级事业部项目表。
-撤回至已提交:撤回专员提交的已计算分配人员数据,状态更新为已提交。
-催办:手动给本周期内所有启用未复核的的事业部项目负责人发送eip待办消息。默认每天上午九点自动触发催办任务。
-导出全部:将页面数据以Excel形式导出。
-
-
-分配人员明细列表(已复核)
-
-
-  默认显示当前周期下所有已复核的奖金分配人员明细。
-  功能描述
-保存:保存编辑单元格中的数据。
-返回事业部项目列表:返回上一级事业部项目表。
-导入:提供模板带数据下载,支持数据批量更新导入。
-撤回至已计算:撤回负责人提交的复核分配人员数据,状态更新为已计算。
-导出全部:将页面数据以Excel形式导出。
-
-
-
-
-
-
-
-
-
-
-
-
-
-奖金周期(负责人)
-  操作路径:【员工自助】-->【项目经营奖金】-->【奖金周期表】,如下图所示:
-  
-
-
-奖金周期列表
-
-
-
-
-
-
-事业部项目表
-
-  该页面只展示事业部负责人为当前登录用户,并且状态为启用或提交的数据
-  功能描述
-导出:将页面数据以Excel形式导出。
-返回奖金周期列表:返回上一级奖金周期表。
-
-分配人员明细列表
-
-  事业部状态为启用时可以编辑或导入,状态为已提交时无法编辑或导入。
-  业务校验
-分配人员不能为空。
-奖金期限截止日期 不得早于或等于 奖金期限起算日期。
-  功能描述
-保存:保存编辑单元格中的数据。
-返回事业部项目表:返回上一级事业部项目表。
-导入:提供模板带数据下载,支持数据批量更新导入。提供了带数据更新导入模板和新增导入模板,两个模板。
-提交: 将分配人员名单数据提交给专员,提交后负责人将无法编辑明细数据。
-提交复核: 将复核后的数据提交给专员,提交后负责人将无法编辑明细数据。
-删除: 删除分配人员数据,提交后的数据无法删除。
-导出:将页面数据以Excel形式导出。
-
-
-
-
-
-奖金核算明细报表
-  操作路径:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金核算明细报表】,如下图所示:
- 
-选择奖金周期,查询
-
-报表页面
-
-
-只展示事业部项目状态为已复核的人员汇总数据。
-汇总金额为总经理审批金额(实发)
-
-

+ 296 - 0
项目资料/一期/薪酬开发/金地s-HR项目奖金核算功能操作手册20240627_V4.0.docx

@@ -0,0 +1,296 @@
+
+
+
+
+                                       
+
+                             人力资源信息化
+                         s-HR项目奖金核算功能
+                                  操作手册
+
+
+
+
+前言:
+  本文档旨在建立人力资源信息化金蝶s-HR项目人事模块操作手册,作为人事专员应用金蝶s-HR系统的操作指引。
+
+系统登录
+ 打开浏览器( 谷歌 或IE10内核以上浏览器),输入网址登录;
+ 【测试环境】登录地址:http://10.0.64.221:6888/shr/
+   
+  
+注意事项
+如有事业部或项目新增,需要先将组织架构数据录入s-HR系统,再到对应奖金周期内执行同步事业部项目。
+ 新增组织架构
+操作路径:【专业应用】-->【行政组织管理】-->【行政组织维护】-->【行政组织维护】 
+    
+    点击【创建】,
+    
+    维护组织信息,点击【保存】
+    
+同步事业部项目
+     操作路径:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】
+     点击对应周期名称,进入事业部项目表。
+    
+    点击【同步事业部项目】,更新事业部项目数据。
+    
+视图路径以操作路径为准
+  
+  
+  
+  
+业务流程
+
+实际操作
+奖金周期创建
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】,如下图所示:
+  
+  
+  
+点击【创建奖金周期】,按图中填写相关内容,保存即可!奖金周期名称存在重复性校验 。
+  
+维护事业部项目负责人
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 
+点击奖金周期名称超链,进入事业部项目列表。
+
+ 通过导入模板维护事业部负责人
+点击【导入】 
+
+下载导入模板
+点击【模板下载】
+	
+点击下载【奖金_事业部项目带数据导入模板】
+
+维护导入模板
+打开下载好的【导入模板】,维护数据。该模板会携带页面数据。可维护列:
+  事业部负责人
+  项目负责人
+  非负责人初始比例
+  负责人初始比例
+  奖金分包金额
+  上半年总奖金额(100%口径)
+    ①直管项目奖金
+    ②委托项目奖金
+    ③共管项目奖金
+    ④战略型项目奖金
+    ⑤奖金调整
+  奖金调整说明
+  上半年实发奖金额(①+②+③+④+⑤)
+  事业部平台初始分配比例
+  ∑项目初始分配比例
+  直管项目负责人初始分配比例
+注意:
+当事业部项目状态为启用、提交、已提交计算或已复核时,负责人数据不能修改! 当事业部项目状态为已提交计算或已复核时,奖金分包金额数据不能修改!
+
+导入数据
+点击【上传文件】
+
+弹出文件资源窗口,选中导入模板文件
+
+导入结果展示
+
+维护提醒内容
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 -->【点击奖金周期超链】
+点击【维护提醒内容】,按图中填写相关内容,保存即可!
+
+
+
+启用事业部项目
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 -->【点击奖金周期超链】
+选中事业部项目,点击【启用】
+启用时会校验事业部负责人不能为空,且启用后事业部负责人不能修改。
+
+启用结果展示
+
+
+催办
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 -->【点击奖金周期超链】
+点击【催办】,提醒所有事业部状态为启用或已提交计算的事业部负责人。
+
+登录eip系统,点击【待审】
+
+点击【标题】跳转到金蝶s-HR系统页面
+
+事业部负责人维护分配人员明细
+ 操作角色:事业部负责人
+ 操作入口:【员工自助】-->【项目经营奖金】-->【奖金周期表】
+  
+ 奖金周期列表,点击【奖金周期】超链接
+  
+  事业部项目列表,点击【事业部】超链接,进入分配人员明细列表
+  只展示事业部负责人为当前用户的数据
+  
+  
+  
+新增分配人员
+ 点击【导入】
+  
+点击【模板下载】
+  
+点击下载【奖金_分配人员明细列表_新增】模板
+  
+维护导入模板
+  
+导入数据
+  
+导入结果展示
+  
+维护分配人员信息
+  编辑列表页面的蓝色单元格,点击【保存】
+  可编辑列:
+  分配人员姓名
+  职能系数
+  精力投入系数
+  奖金期限起算日期
+  奖金期限截止日期
+  
+提交分配人员名单
+ 维护好分配人员信息后,点击【提交】,将分配人员名单提交给业务专员。
+  
+ 提交后,分配人员数据不可修改。
+  
+导入奖金分包金额
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】
+  点击奖金周期名称超链,进入事业部项目列表。
+下载导入模板
+ 点击【导入】 
+
+点击【模板下载】
+
+点击下载【奖金_事业部项目带数据导入模板】
+
+维护导入模板中【奖金分包金额】
+
+导入数据
+ 点击【上传文件】
+
+弹出文件资源窗口,选中导入模板文件
+
+导入结果展示
+
+维护分配人员绩效数据
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 
+ 点击奖金周期名称超链,进入事业部项目列表。
+ 点击【维护奖金分配人员明细】,进入分配人员名单列表
+
+下载导入模板
+
+
+维护导入模板
+
+导入数据
+
+导入结果展示
+
+计算个人奖金额
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 
+ 点击奖金周期名称超链,进入事业部项目列表。
+ 点击【维护奖金分配人员明细】,进入分配人员名单列表。
+
+ 点击【计算】
+
+弹出事业部项目列表,选中事业部项目后(支持多选),点击【确定】,开始计算。
+个人初始比例、Q1绩效系数、Q2绩效系数不能为空!
+
+计算结果展示
+
+
+提交给负责人复核
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 
+ 点击奖金周期名称超链,进入事业部项目列表。
+ 点击【维护奖金分配人员明细】,进入分配人员名单列表
+提交
+
+弹出事业部项目列表,选中事业部项目后(支持多选),点击【确定】
+
+提交结果展示
+
+
+负责人复核
+ 操作角色:事业部负责人
+ 操作入口:【员工自助】-->【项目经营奖金】-->【奖金周期表】
+
+ 奖金周期列表,点击【奖金周期】超链接
+
+  事业部项目列表,点击【事业部】超链接,进入分配人员明细列表
+  只展示事业部负责人为当前用户的数据
+维护征求意见金额
+
+  
+下载导入模板
+
+
+下载【奖金_分配人员明细列表_带数据更新】导入模板
+
+维护导入模板
+
+导入数据
+
+
+导入结果展示
+
+
+负责人提交复核
+ 操作角色:事业部负责人
+ 操作入口:【员工自助】-->【项目经营奖金】-->【奖金周期表】
+ 奖金周期列表,点击【奖金周期】超链接
+ 事业部项目列表,点击【事业部】超链接,进入分配人员明细列表
+ 点击【提交复核】。
+提交时校验征求意见金额不能为空。
+
+如果征求意见跟本期个人奖金额有出入,会弹出差异数据列表,待负责人确认后才真正提交复核
+
+提交成功后,负责人无法修改分配人员明细数据 。
+
+
+
+
+总经理维护审批金额
+ 操作角色:总经理 
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 
+ 点击奖金周期名称超链,进入事业部项目列表。
+ 点击【维护奖金分配人员明细】,进入分配人员名单列表
+ 点击页面上方【已复核】,查看负责人已复核数据。
+默认总经理审批金额 等于 征求意见金额
+
+下载导入模板
+
+
+维护导入模板
+
+导入数据
+
+
+导入结果展示
+
+
+锁定周期
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金周期表】 
+ 点击奖金周期名称超链,进入事业部项目列表。
+ 锁定周期需要所有事业部项目状态为已复核或已禁用,才能锁定。
+ 点击【锁定周期按钮】,锁定整个周期
+
+锁定成功后,周期内所有数据都无法修改。
+
+
+奖金核算明细报表
+ 操作角色:业务专员
+ 操作入口:【专业应用】-->【薪酬核算】-->【项目奖金核算】-->【奖金核算明细报表】 
+
+选择奖金周期查询
+报表只汇总展示事业部项目状态为已复核,汇总金额为总经理审批金额。
+
+
+
+数据展示
+

BIN
项目资料/一期/金地管理HR建设上线阶段汇报方案-V2.0(1).pptx