023 vault
This commit is contained in:
@@ -143,6 +143,71 @@
|
||||
|
||||
|
||||
<cfset var out=structNew("linked")/>
|
||||
|
||||
|
||||
<cftry><!--- *** надо бы такие вещи делать асинхронно --->
|
||||
<cfset vaultUrl=""/>
|
||||
<cfset instanceData="#deserializeJson(qCurrentState.instance_data)#"/>
|
||||
<cfset vaultUrl=instanceData.vaultUrl/>
|
||||
|
||||
<cfhttp method="post"
|
||||
url="https://vault.adl.nubes.ru:8200/v1/auth/approle/login"
|
||||
timeout="3"
|
||||
charset="utf-8"
|
||||
result="res"
|
||||
>
|
||||
<cfhttpparam type="BODY" value='{"role_id":"df05e620-f3a3-8c6a-361d-a96e3b0adeac","secret_id":"585fbb48-ef97-b845-d414-b8831a27d5b6"}'/>
|
||||
</cfhttp>
|
||||
<cfset resData=#deserializeJson(res.filecontent)#/>
|
||||
<!--- <cfdump var=#res#/> --->
|
||||
<cfset client_token=#resData.auth.client_token#/>
|
||||
|
||||
<cftry>
|
||||
<cfhttp method="get"
|
||||
url="#vaultUrl#"
|
||||
timeout="3"
|
||||
charset="utf-8"
|
||||
result="cred"
|
||||
>
|
||||
<cfhttpparam type="HEADER" name="X-Vault-Token" value="#client_token#">
|
||||
</cfhttp>
|
||||
|
||||
<cfset "out.vaultData" = #deserializeJson(cred.filecontent).data.data#/>
|
||||
<cfcatch type="ANY">
|
||||
<!--- <cfreturn representationOf(cfcatch).withStatus(500)/> --->
|
||||
<!--- <span class="err">#cfcatch.message# #cfcatch.detail#</span> ---></cfcatch>
|
||||
</cftry>
|
||||
|
||||
<cftry>
|
||||
<cfif structKeyExists(instanceData,"subusers")>
|
||||
<cfloop collection=#instanceData.subusers# item="i">
|
||||
<cfset vaultUrl=#instanceData.subusers[i].vaultUrl#/>
|
||||
<cfhttp method="get"
|
||||
url="#vaultUrl#"
|
||||
timeout="3"
|
||||
charset="utf-8"
|
||||
result="cred"
|
||||
>
|
||||
<cfhttpparam type="HEADER" name="X-Vault-Token" value="#client_token#">
|
||||
</cfhttp>
|
||||
<!--- <cfdump var=#deserializeJson(cred.filecontent)#/> --->
|
||||
<cfset "out.vaultData.subusers[i].userName"=#instanceData.subusers[i].userName#/>
|
||||
<cfset "out.vaultData.subusers[i].subUserAccess"=#instanceData.subusers[i].subUserAccess#/>
|
||||
<cfset "out.vaultData.subusers[i].vaultData"=#deserializeJson(cred.filecontent).data.data#/>
|
||||
<!--- #instanceData.subusers[i].userName# (#instanceData.subusers[i].subUserAccess#)
|
||||
<cfdump var=#deserializeJson(cred.filecontent).data.data#/> --->
|
||||
</cfloop>
|
||||
</cfif>
|
||||
<cfcatch type="ANY"><!--- <cfreturn representationOf(cfcatch).withStatus(500)/> ---> </cfcatch>
|
||||
</cftry>
|
||||
|
||||
<cfcatch type="any">
|
||||
<!--- <cfrethrow/> ---><!--- <cfreturn representationOf(cfcatch).withStatus(500)/> --->
|
||||
</cfcatch>
|
||||
</cftry>
|
||||
|
||||
|
||||
|
||||
|
||||
<cfset "out.queryDurationMs"=getTickCount() - request.startTickCount/>
|
||||
<cfset "out.isCreated"=local.isCreated/>
|
||||
|
||||
Reference in New Issue
Block a user