Documentation
¶
Overview ¶
Package gh provides a key directory implementation backed by the public GitHub user keys API
Index ¶
- func ConvertSSHPublicKeyToECDSAPublicKey(sshPubKey ssh.PublicKey) (*ecdsa.PublicKey, error)
- func ConvertSSHPublicKeyToED25519PublicKey(sshPubKey ssh.PublicKey) (*ed25519.PublicKey, error)
- func ConvertSSHPublicKeyToRSAPublicKey(sshPubKey ssh.PublicKey) (*rsa.PublicKey, error)
- type DynamicGitHubKeyDirectory
- type GitHubClient
- type GitHubKeyDirectory
- type GitHubSigner
- type RequestSigner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DynamicGitHubKeyDirectory ¶
type DynamicGitHubKeyDirectory struct {
// contains filtered or unexported fields
}
func NewDynamicGitHubKeyDirectory ¶
func NewDynamicGitHubKeyDirectory(headerName string) (*DynamicGitHubKeyDirectory, error)
func (*DynamicGitHubKeyDirectory) AddUserKeys ¶
func (d *DynamicGitHubKeyDirectory) AddUserKeys(username string) error
func (*DynamicGitHubKeyDirectory) KeyFetcher ¶
func (d *DynamicGitHubKeyDirectory) KeyFetcher(next http.Handler) http.Handler
KeyFetcher is a middleware that adds the user's keys to the key directory
type GitHubClient ¶
type GitHubClient struct {
// contains filtered or unexported fields
}
func NewGitHubClient ¶
func NewGitHubClient() *GitHubClient
func (*GitHubClient) GetUserKeys ¶
func (c *GitHubClient) GetUserKeys(username string) ([][]byte, error)
GetUserKeys fetches the public keys for a given GitHub user
type GitHubKeyDirectory ¶
type GitHubKeyDirectory struct {
// contains filtered or unexported fields
}
func NewGitHubKeyDirectory ¶
func NewGitHubKeyDirectory(usernames []string) (*GitHubKeyDirectory, error)
func (*GitHubKeyDirectory) AddUserKeys ¶
func (d *GitHubKeyDirectory) AddUserKeys(username string) error
type GitHubSigner ¶
type GitHubSigner struct {
// contains filtered or unexported fields
}
func NewGHSigner ¶
func NewGHSigner(keydata []byte) (*GitHubSigner, error)
func (*GitHubSigner) ContentDigest ¶
func (s *GitHubSigner) ContentDigest() contentdigest.Digester
func (*GitHubSigner) KeyID ¶
func (s *GitHubSigner) KeyID() string
TODO: prefix username in front of keyhash?
func (*GitHubSigner) Type ¶
func (s *GitHubSigner) Type() string
type RequestSigner ¶
func NewRequestSigner ¶
func NewRequestSigner(transport signer.Transport) RequestSigner
Click to show internal directories.
Click to hide internal directories.