fix(auth): resolve token from pass store in auth status
- commit
- 70ea140cb45950d7c6e91cfe18be239f6c2fccae
- author
- brice · · 2026-03-22 19:17 UTC
- parent
- f03ab25
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +16 -1
M internal/adapters/in/cli/auth.go +2 -1
| @@ -743,8 +743,9 @@ func runAuthStatus(remoteNameArg string) error { | |||
| 743 | 743 | } | |
| 744 | 744 | ||
| 745 | 745 | // Create client | |
| 746 | + | token := remote.ResolveTokenForRemote(remoteName, remoteConfig) | |
| 746 | 747 | insecureTLS := remote.ResolveInsecureTLSForRemote(insecureTLSFlag, remoteName) | |
| 747 | - | client := remote.NewClient(remoteConfig.URL, remoteClientOptions(remoteConfig.Token, insecureTLS)...) | |
| 748 | + | client := remote.NewClient(remoteConfig.URL, remoteClientOptions(token, insecureTLS)...) | |
| 748 | 749 | ||
| 749 | 750 | // Verify auth | |
| 750 | 751 | ctx := context.Background() | |
| @@ -743,8 +743,9 @@ func runAuthStatus(remoteNameArg string) error { | |||||
| 743 | } | 743 | } | ||
| 744 | 744 | ||||
| 745 | // Create client | 745 | // Create client | ||
| 746 | + | token := remote.ResolveTokenForRemote(remoteName, remoteConfig) | |||
| 746 | insecureTLS := remote.ResolveInsecureTLSForRemote(insecureTLSFlag, remoteName) | 747 | insecureTLS := remote.ResolveInsecureTLSForRemote(insecureTLSFlag, remoteName) | ||
| 747 | - | client := remote.NewClient(remoteConfig.URL, remoteClientOptions(remoteConfig.Token, insecureTLS)...) | 748 | + | client := remote.NewClient(remoteConfig.URL, remoteClientOptions(token, insecureTLS)...) |
| 748 | 749 | ||||
| 749 | // Verify auth | 750 | // Verify auth | ||
| 750 | ctx := context.Background() | 751 | ctx := context.Background() | ||
M internal/adapters/in/cli/remote/config.go +14 -0
| @@ -256,6 +256,20 @@ func resolveRemoteEntryToken(remote *RemoteEntry) string { | |||
| 256 | 256 | return "" | |
| 257 | 257 | } | |
| 258 | 258 | ||
| 259 | + | // ResolveTokenForRemote resolves the token for a named remote. | |
| 260 | + | // Precedence: TOML token field > token_env > pass store. | |
| 261 | + | func ResolveTokenForRemote(name string, entry RemoteEntry) string { | |
| 262 | + | if token := resolveRemoteEntryToken(&entry); token != "" { | |
| 263 | + | return token | |
| 264 | + | } | |
| 265 | + | if passAvailable() { | |
| 266 | + | if token, err := passReadToken(name); err == nil && token != "" { | |
| 267 | + | return token | |
| 268 | + | } | |
| 269 | + | } | |
| 270 | + | return "" | |
| 271 | + | } | |
| 272 | + | ||
| 259 | 273 | // ResolveInsecureTLSForRemote resolves insecure TLS behavior for a named remote. | |
| 260 | 274 | // Precedence: flag > env > client config > specific remote config. | |
| 261 | 275 | func ResolveInsecureTLSForRemote(flagInsecure bool, remoteName string) bool { | |
| @@ -256,6 +256,20 @@ func resolveRemoteEntryToken(remote *RemoteEntry) string { | |||||
| 256 | return "" | 256 | return "" | ||
| 257 | } | 257 | } | ||
| 258 | 258 | ||||
| 259 | + | // ResolveTokenForRemote resolves the token for a named remote. | |||
| 260 | + | // Precedence: TOML token field > token_env > pass store. | |||
| 261 | + | func ResolveTokenForRemote(name string, entry RemoteEntry) string { | |||
| 262 | + | if token := resolveRemoteEntryToken(&entry); token != "" { | |||
| 263 | + | return token | |||
| 264 | + | } | |||
| 265 | + | if passAvailable() { | |||
| 266 | + | if token, err := passReadToken(name); err == nil && token != "" { | |||
| 267 | + | return token | |||
| 268 | + | } | |||
| 269 | + | } | |||
| 270 | + | return "" | |||
| 271 | + | } | |||
| 272 | + | ||||
| 259 | // ResolveInsecureTLSForRemote resolves insecure TLS behavior for a named remote. | 273 | // ResolveInsecureTLSForRemote resolves insecure TLS behavior for a named remote. | ||
| 260 | // Precedence: flag > env > client config > specific remote config. | 274 | // Precedence: flag > env > client config > specific remote config. | ||
| 261 | func ResolveInsecureTLSForRemote(flagInsecure bool, remoteName string) bool { | 275 | func ResolveInsecureTLSForRemote(flagInsecure bool, remoteName string) bool { | ||