Documentation
¶
Index ¶
- Variables
- func VerifyBackend(ctx context.Context, cfg config.BackendConfig, secret Secret) error
- type Endpoint
- type Login
- type Manager
- func (m *Manager) Authorize(e Endpoint, b configstore.CredentialBinding) func(context.Context) (http.Header, error)
- func (m *Manager) Binding(ctx context.Context, e Endpoint, issuer, subject string) (configstore.CredentialBinding, error)
- func (m *Manager) Close()
- func (m *Manager) Connect(ctx context.Context, e Endpoint, b configstore.CredentialBinding, ...) (configstore.CredentialBinding, error)
- func (m *Manager) Disconnect(ctx context.Context, e Endpoint, issuer, subject string, expected int64) error
- func (m *Manager) Exchange(ctx context.Context, l Login, code, responseIssuer string) (configstore.CredentialBinding, Secret, error)
- func (m *Manager) Maintain(ctx context.Context) error
- func (m *Manager) Shared(e Endpoint) func(context.Context) (http.Header, error)
- func (m *Manager) StartLogin(ctx context.Context, e Endpoint, issuer, subject, browser, redirect string) (string, error)
- func (m *Manager) Status(ctx context.Context, e Endpoint, b configstore.CredentialBinding) (configstore.CredentialBinding, string)
- func (m *Manager) TakeLogin(state, issuer, subject, browser string) (Login, error)
- type Secret
- type Vault
- func (v *Vault) Check(ctx context.Context) error
- func (v *Vault) Close()
- func (v *Vault) Delete(ctx context.Context, path string) error
- func (v *Vault) Header(ctx context.Context, c *config.CredentialConfig, path string) (http.Header, error)
- func (v *Vault) Read(ctx context.Context, path string, target any) (int, error)
- func (v *Vault) Write(ctx context.Context, path string, value any, version int) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrConnect = errors.New("connect your upstream account in the MCPHub personal portal") ErrReconnect = errors.New("upstream authorization expired or changed; reconnect your account in the MCPHub personal portal") ErrConflict = errors.New("account connection changed; refresh the page and try again") )
Functions ¶
func VerifyBackend ¶
Types ¶
type Endpoint ¶
type Endpoint struct {
ID, UID, URL string
Credentials *config.CredentialConfig
}
type Login ¶
type Login struct {
Endpoint Endpoint
Binding configstore.CredentialBinding
Browser, Verifier, Nonce string
IssuerRequired bool
OAuth *oauth2.Config
Expires time.Time
}
type Manager ¶
type Manager struct {
Vault *Vault
Store *configstore.Store
HTTP *http.Client
// contains filtered or unexported fields
}
func New ¶
func New(cfg *config.VaultConfig, store *configstore.Store) (*Manager, error)
func (*Manager) Authorize ¶
func (m *Manager) Authorize(e Endpoint, b configstore.CredentialBinding) func(context.Context) (http.Header, error)
func (*Manager) Binding ¶
func (m *Manager) Binding(ctx context.Context, e Endpoint, issuer, subject string) (configstore.CredentialBinding, error)
func (*Manager) Connect ¶
func (m *Manager) Connect(ctx context.Context, e Endpoint, b configstore.CredentialBinding, secret Secret) (configstore.CredentialBinding, error)
func (*Manager) Disconnect ¶
func (*Manager) Exchange ¶
func (m *Manager) Exchange(ctx context.Context, l Login, code, responseIssuer string) (configstore.CredentialBinding, Secret, error)
func (*Manager) StartLogin ¶
func (*Manager) Status ¶
func (m *Manager) Status(ctx context.Context, e Endpoint, b configstore.CredentialBinding) (configstore.CredentialBinding, string)
Click to show internal directories.
Click to hide internal directories.