我想通过戈朗从脚本中检索一个Github秘密内容,该内容是从Github操作执行的。在这种特殊情况下,存储在 Github 机密中的机密值具有空间。我的意思是秘密值是:.JWT <token-string>
从任何语言的任何脚本中检索 Github 机密(只要它们在 Github 操作运行器中执行)的方法是将它们作为环境变量读取。所以我正在做的是以这种方式阅读它:(请参阅下面字符串切片中的元素)Authorization:
func MyTestFunction(t *testing.T, serverURL string) {
type AppLogin struct {
token string
}
method := "GET"
headers := map[string][]string{
"Content-Type": []string{"application/json, text/plain, */*"},
"Authorization": []string{os.Getenv("USER_JWT")},
}
问题是,在运行 Github 操作运行器时,我没有从 Github 机密中获取值。我知道自从我试图以这种方式打印它以来,这种情况正在发生,但没有任何结果:
fmt.Println("My JWT", os.Getenv("USER_JWT"))
我担心它正在发生,因为令牌和令牌之间的空间,我的意思是。"JWT "JWT <token-string>
这里说:
机密名称只能包含字母数字字符([a-z]、[A-Z]、[0-9])或下划线 (_)。不允许使用空格。
作为一个重要的事实,我的令牌秘密值在其值中也包含字符。该值如下所示:.
JWT xxxxxxx8888xxxxdsdsfsfsf9.eyJxxxxxxx8888xxxxdsdsfsfsf9.Tfgxadsdsfsfsasasad_s7sdsdsfgsgcs
所以我相信,这就是我无法获得秘密价值的原因。
我不确定如何从我的Golang脚本中获取它,我甚至试图修改Github秘密值,只是为了避免值中的空格,我以这种方式从go调用它:<token-string>
"Authorization": []string{"JWT ", os.Getenv("SPECKLE_USER_JWT")}
但它没有奏效。我在这里读到,当从github操作中调用具有特殊字符的机密时,我们必须用单引号转义它们,但此过程来自文件github操作。' '.yaml
我正在尝试以前的解决方案替代方案,它们适用于我的本地计算机,因为我的bash cli能够获取值中带有空格的环境变量。我不确定我 - 让我们说“逃脱” - 一个在字符串中留有空间的秘密,就像我从golang那里得到的那样。
茅侃侃
相关分类