hash-vault-js中loginWithAppRole获取client_token返回undefined,正确方式是什么?
正确获取hash-vault-js中AppRole登录返回的client_token的方式
你当前的代码写法有误,因为你试图直接在未完成的Promise上访问client_token属性,导致返回undefined。正确的做法是先通过await获取完整的登录响应对象,再从中提取client_token。
正确代码示例
// 先获取完整的登录响应 const loginResponse = await vault.loginWithAppRole(RoleId, SecretId); // 从响应中提取client_token const token = loginResponse.client_token; console.log(token);
原因说明
vault.loginWithAppRole()返回的是一个Promise对象,你之前的写法await vault.loginWithAppRole(...).client_token相当于先访问Promise的client_token属性(此时Promise还未resolve,该属性不存在,返回undefined),再对这个undefined值执行await,自然得不到正确的token。必须先await让Promise完成,拿到完整的响应对象后,再访问其client_token属性。
内容的提问来源于stack exchange,提问作者user2399035
相关产品推荐
相关产品推荐

