📖 GetAuthConfig
读取 Composer 主目录下 auth.json 中的全部认证配置,返回结构化的 AuthConfig。
何时使用
当你需要检视当前已配置的所有令牌与凭据(GitHub、GitLab、Bitbucket、Bearer、HTTP Basic、AWS),或在进行批量增删前读取当前状态时使用。
签名
go
func (c *Composer) GetAuthConfig() (*AuthConfig, error)参数
该方法不接受任何参数。
返回值
*AuthConfig:结构化认证配置。若auth.json不存在,返回空的AuthConfig(各映射为nil),不视为错误。error:读取文件或解析 JSON 失败时返回相应错误信息。
AuthConfig 结构:
go
type AuthConfig struct {
GitHub map[string]string `json:"github-oauth,omitempty"`
GitLab map[string]string `json:"gitlab-oauth,omitempty"`
GitLabToken map[string]string `json:"gitlab-token,omitempty"`
Bitbucket map[string]string `json:"bitbucket-oauth,omitempty"`
Bearer map[string]string `json:"bearer,omitempty"`
HTTPBasic map[string]string `json:"http-basic,omitempty"`
AWSAccessKey map[string]string `json:"aws-access-key,omitempty"`
}示例
go
package main
import (
"fmt"
"log"
"github.com/scagogogo/composer-skills/pkg/composer"
)
func main() {
comp, err := composer.New(composer.DefaultOptions())
if err != nil {
log.Fatalf("初始化失败: %v", err)
}
config, err := comp.GetAuthConfig()
if err != nil {
log.Fatalf("读取认证配置失败: %v", err)
}
for domain, token := range config.GitHub {
fmt.Printf("GitHub[%s] = %s\n", domain, token)
}
}进阶
- 该方法是所有
Add*Token/AddHTTPBasicAuth的读取基础:它们均先GetAuthConfig再SaveAuthConfig。 auth.json路径为ComposerHome()/auth.json,可通过GetComposerHome获取。- 修改配置后务必调用
SaveAuthConfig持久化。