Skip to content

📖 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 的读取基础:它们均先 GetAuthConfigSaveAuthConfig
  • auth.json 路径为 ComposerHome()/auth.json,可通过 GetComposerHome 获取。
  • 修改配置后务必调用 SaveAuthConfig 持久化。

基于 MIT 许可证发布