auth

package
v0.0.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetToken

func GetToken(host string) (string, error)

GetToken retrieves the token for a specific host.

func Logout

func Logout(host string) error

Logout removes stored credentials for a host.

func ScopesDescription added in v0.0.2

func ScopesDescription() string

ScopesDescription returns a human-readable description of the required scopes.

Types

type OAuthTokenResponse added in v0.0.2

type OAuthTokenResponse struct {
	AccessToken  string `json:"access_token"`
	TokenType    string `json:"token_type"`
	ExpiresIn    int    `json:"expires_in"`
	RefreshToken string `json:"refresh_token"`
	Scope        string `json:"scope"`
	CreatedAt    int64  `json:"created_at"`
}

OAuthTokenResponse represents the response from GitLab's OAuth token endpoint.

type Status

type Status struct {
	Host       string
	User       string
	Token      string
	Source     string
	AuthMethod string // "pat", "oauth", or ""
	Active     bool
	HasError   bool
	Error      string
}

Status represents the authentication status for a host.

func GetStatus

func GetStatus() ([]Status, error)

GetStatus returns the authentication status for all configured hosts.

func Login

func Login(host, token string, stdin io.Reader) (*Status, error)

Login authenticates the user with a GitLab instance.

func OAuthFlow added in v0.0.2

func OAuthFlow(host, clientID, redirectURI, scopes string, out io.Writer, openBrowser func(string) error) (*Status, error)

OAuthFlow performs the OAuth2 Authorization Code flow with PKCE. openBrowser is called with the authorization URL; pass nil to skip auto-open. If redirectURI is empty, http://localhost:7171/auth/redirect is used. If scopes is empty, defaultScopes is used.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL