Skip to content

💾 SaveAuthConfig

将给定的认证配置以 JSON 格式写入 Composer 主目录下的 auth.json 文件。

何时使用

当你直接构造或修改了 AuthConfig 结构(而非通过 Add*Token 系列便捷方法),需要把变更持久化到磁盘时使用。也可用于批量导入/迁移认证配置。

签名

go
func (c *Composer) SaveAuthConfig(config *AuthConfig) error

参数

参数类型说明
config*AuthConfig要保存的认证配置结构体指针

返回值

error:获取目录、创建目录或写入文件失败时返回相应错误信息,成功时为 nil

示例

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 := &composer.AuthConfig{
		GitHub: map[string]string{
			"github.com": "ghp_xxxxxxxxxxxxxxxxxxxx",
		},
		HTTPBasic: map[string]string{
			"repo.intranet.com": "ci-user:s3cret",
		},
	}

	if err := comp.SaveAuthConfig(config); err != nil {
		log.Fatalf("保存认证配置失败: %v", err)
	}

	fmt.Println("auth.json 已写入")
}

进阶

  • 文件以 json.MarshalIndent(4 空格缩进)序列化,权限为 0600,仅当前用户可读写。
  • 写入前会 os.MkdirAll 确保 Composer 主目录存在。
  • 通常无需手动调用,Add*Token 系列方法已内部调用它;详见 GetAuthConfig

基于 MIT 许可证发布