💾 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。