Documentation
¶
Index ¶
- func BuildAuthorizeURL(cfg OAuthProviderConfig, pkce PKCECodes, state, redirectURI string) string
- func DeleteAllCredentials() error
- func DeleteCredential(provider string) error
- func FilePath() string
- func SaveStore(store *Store) error
- func SetCredential(provider string, cred *Credential) error
- type Credential
- type OAuthProviderConfig
- type PKCECodes
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildAuthorizeURL ¶
func BuildAuthorizeURL(cfg OAuthProviderConfig, pkce PKCECodes, state, redirectURI string) string
BuildAuthorizeURL builds OAuth authorize URL with PKCE.
func DeleteAllCredentials ¶
func DeleteAllCredentials() error
DeleteAllCredentials clears auth store.
func DeleteCredential ¶
DeleteCredential removes one provider credential.
func SetCredential ¶
func SetCredential(provider string, cred *Credential) error
SetCredential saves one provider credential.
Types ¶
type Credential ¶
type Credential struct {
AccessToken string `json:"access_token"`
RefreshToken string `json:"refresh_token,omitempty"`
Provider string `json:"provider"`
AuthMethod string `json:"auth_method"`
ExpiresAt time.Time `json:"expires_at,omitempty"`
}
Credential stores auth tokens for one provider.
func GetCredential ¶
func GetCredential(provider string) (*Credential, error)
GetCredential retrieves one provider credential.
func LoginBrowser ¶
func LoginBrowser(cfg OAuthProviderConfig) (*Credential, error)
LoginBrowser completes OAuth login via local callback HTTP server.
func LoginDeviceCode ¶
func LoginDeviceCode(cfg OAuthProviderConfig) (*Credential, error)
LoginDeviceCode completes OAuth login via device-code flow.
func RefreshAccessToken ¶
func RefreshAccessToken(cred *Credential, cfg OAuthProviderConfig) (*Credential, error)
RefreshAccessToken refreshes OAuth access token when refresh token exists.
func (*Credential) IsExpired ¶
func (c *Credential) IsExpired() bool
func (*Credential) NeedsRefresh ¶
func (c *Credential) NeedsRefresh() bool
type OAuthProviderConfig ¶
OAuthProviderConfig defines OAuth metadata for one provider.
func OpenAIOAuthConfig ¶
func OpenAIOAuthConfig() OAuthProviderConfig
OpenAIOAuthConfig returns OpenAI OAuth defaults.
type PKCECodes ¶
PKCECodes holds verifier/challenge pair for OAuth PKCE.
func GeneratePKCE ¶
GeneratePKCE creates random verifier and S256 challenge.