Goal
Provide a secure and seamless way for Eko to authenticate with GitHub without exposing plain-text developer credentials.
Steps to Outcome
- GitHub OAuth Integration:
- Register a GitHub OAuth App or specify client ID/secret.
- Implement the OAuth Device Flow inside the Eko CLI (e.g.
eko auth login).
- The CLI prints a user code and opens the browser for authorization.
- Secure Token Storage:
- Use the
github.com/zalando/go-keyring library to interact with native OS keychains (macOS Keychain, Linux Secret Service, Windows Credential Manager).
- Securely store the returned access token under the service name
eko-github.
- GitHub API Client Setup:
- Initialize the
google/go-github client with the retrieved access token.
- Add a diagnostic helper
eko auth status to check connection status and scopes.
Final Outcome
Developers can run eko auth login to link Eko to their GitHub account, storing credentials securely in the OS keychain for all subsequent remote API requests.
Goal
Provide a secure and seamless way for Eko to authenticate with GitHub without exposing plain-text developer credentials.
Steps to Outcome
eko auth login).github.com/zalando/go-keyringlibrary to interact with native OS keychains (macOS Keychain, Linux Secret Service, Windows Credential Manager).eko-github.google/go-githubclient with the retrieved access token.eko auth statusto check connection status and scopes.Final Outcome
Developers can run
eko auth loginto link Eko to their GitHub account, storing credentials securely in the OS keychain for all subsequent remote API requests.