问题描述
我正在尝试基于模仿用户界面中可用功能的 cobra 包在 Go 中设计一个命令行界面。当用户在一个命令中提供用于登录的初始凭据,然后他执行下一组命令时,我面临一个问题。 在这种情况下,我要么需要存储不安全的凭据,要么需要存储我创建的会话对象,但现在确定如何存储会话对象,因为程序不是一直在运行。
解决方法
你可以使用https://github.com/docker/docker-credential-helpers
就像这个例子
p := NewShellProgramFunc("docker-credential-secretservice")
c := &credentials.Credentials{
ServerURL: "https://example.com",Username: "calavera",Secret: "my super secret token",}
if err := Store(p,c); err != nil {
fmt.Println(err)
}