184 bugfix

This commit is contained in:
2025-11-29 20:21:15 +03:00
parent 510a7a8f74
commit c89467fbae
2 changed files with 44 additions and 16 deletions
+28 -6
View File
@@ -21,6 +21,19 @@
<cfset var local={}/>
<cfset local.vaultData={}/>
<!--- <cfset logVaultAccess(
"#request.iam_service_url#/events",
request.auth_header,
request.stand,
arguments.instanceUid,
arguments.secretName,
"",
arguments.login,
arguments.clientID,
arguments.usrId,
arguments.contragentId,
arguments.isImpersonated)/> --->
<!--- *** Добавить проверку, что секрет перечислен в fields - стало быть, доступен пользователю --->
<!--- тут необходимо проконтролировать, что мы смотрим не чужие данные --->
@@ -57,13 +70,17 @@
<!--- <cfdump var=#local.qCurrentState#/><cfabort/> --->
<cfset var vaultUrl=""/>
<cftry>
<cftry>
<cfset var instanceData=#deserializeJson(local.qCurrentState.instance_data)#/>
<cfif structKeyExists(instanceData,"vaultUrl")>
<cfset vaultUrl=instanceData.vaultUrl/> <!--- v001 --->
<cfelseif structKeyExists(instanceData,"vault")>
<cfif !structKeyExists(instanceData.vault,"Url")>
<cfreturn representationOf("instanceData.vault does not contain url").withStatus(422)/>
</cfif>
<cfset vaultUrl=instanceData.vault.Url/><!--- v002 --->
<cfelse>
<cfreturn representationOf("Instance data do not contain vault url").withStatus(422)/>
</cfif>
<cfhttp method="post"
@@ -122,7 +139,7 @@
<!--- логируем успешную попытку доступа. (если логировать сначала - неизвестен результат. *** Можно в catch логировать неуспешный --->
<cfset logVaultAccess(
request.iam_service_url,
"#request.iam_service_url#/events",
request.auth_header,
request.stand,
arguments.instanceUid,
@@ -143,7 +160,7 @@
</cffunction>
<cffunction name="logVaultAccess" returntype="void">
<cfargument name="iamUrl" type="string" required=true hint=""/>
<cfargument name="loggerUrl" type="string" required=true hint=""/>
<cfargument name="authHeader" type="string" required=true hint="type:string"/>
<cfargument name="stand" type="string" required=true hint="type:string"/>
<cfargument name="instanceUid" type="string" required=true hint="type:UUID"/>
@@ -194,7 +211,7 @@
<!--- <cfdump var=#msg#/><cfabort/> --->
<cfhttp method="post"
url="#arguments.iamUrl#"
url="#arguments.loggerUrl#"
timeout="3"
charset="utf-8"
result="local.res"
@@ -204,7 +221,12 @@
<cfhttpparam type="BODY" value="#serializeJson(msg)#"/>
</cfhttp>
<!--- <cfdump var=#local.res#/><cfabort/> --->
<!---
arguments:<cfdump var=#arguments#/>
msg:<cfdump var=#msg#/>
local.res:<cfdump var=#local.res#/>
<cfabort/>
--->
<cfcatch type="any">
<cfrethrow/><!--- на этапе отладки лучше тут падать --->
</cfcatch>