Documentation
¶
Overview ¶
Package login implements browser-based and headless OIDC login flows for Chainguard clients, returning access and refresh tokens.
Package login implements client login functionality shared between various clients
Package login implements client login functionality shared between various clients
Index ¶
- Variables
- func BuildHeadlessURL(opts ...Option) (u string, err error)
- func Login(ctx context.Context, opts ...Option) (token string, refreshToken string, err error)
- type Error
- type OpenBrowserErrordeprecated
- type Option
- func WithAudience(aud []string) Option
- func WithAuth0Connection(conn string) Option
- func WithClientID(id string) Option
- func WithCreateRefreshToken() Option
- func WithHeadlessCode(code string) Option
- func WithIdentity(identity string) Option
- func WithIdentityProvider(idp string) Option
- func WithInviteCode(inviteCode string) Option
- func WithIssuer(issuer string) Option
- func WithMessageWriter(w io.Writer) Option
- func WithOrgName(org string) Option
- func WithScope(scope ...string) Option
- func WithScreenHint(hint string) Option
- func WithSkipBrowser() Option
- func WithSkipRegistration() Option
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var (
HTMLAuthSuccessful = `` /* 2674-byte string literal not displayed */
)
Functions ¶
func BuildHeadlessURL ¶ added in v0.1.25
Example ¶
ExampleBuildHeadlessURL demonstrates that a missing headless code returns an error.
package main
import (
"fmt"
"chainguard.dev/sdk/auth/login"
)
func main() {
_, err := login.BuildHeadlessURL()
fmt.Println(err != nil)
}
Output: true
Types ¶
type Error ¶ added in v0.1.39
Error is a generic wrapper around client side errors this package may return. It helps callers distinguish between local and remote errors.
Example ¶
ExampleError demonstrates the Error type returned by login operations.
package main
import (
"fmt"
"chainguard.dev/sdk/auth/login"
)
func main() {
err := &login.Error{
Details: "failed to open browser",
Err: fmt.Errorf("exec: not found"),
}
fmt.Println(err.Error())
}
Output: login: failed to open browser: exec: not found
type OpenBrowserError
deprecated
added in
v0.1.20
type OpenBrowserError struct {
// contains filtered or unexported fields
}
OpenBrowserError wraps the error returned from browser.OpenURL, since this can take a few different forms depending on the OS.
Deprecated: use Error.
func (OpenBrowserError) Error ¶ added in v0.1.20
func (e OpenBrowserError) Error() string
func (OpenBrowserError) Unwrap ¶ added in v0.1.20
func (e OpenBrowserError) Unwrap() error
type Option ¶
type Option func(opt *config)
func WithAudience ¶
func WithAuth0Connection ¶
func WithClientID ¶
func WithCreateRefreshToken ¶ added in v0.1.9
func WithCreateRefreshToken() Option
func WithHeadlessCode ¶ added in v0.1.25
func WithIdentity ¶
func WithIdentityProvider ¶
func WithInviteCode ¶
func WithIssuer ¶
func WithMessageWriter ¶ added in v0.1.29
func WithOrgName ¶
func WithScreenHint ¶ added in v0.1.55
WithScreenHint sets `screen_hint=<value>` on the /oauth redirect. The Chainguard issuer forwards it to Auth0's /authorize. Pass "signup" to default the Universal Login UI to the signup form instead of the login form when a flow is known to register a new user (e.g. catalog starter init).
func WithSkipBrowser ¶ added in v0.1.21
func WithSkipBrowser() Option
func WithSkipRegistration ¶
func WithSkipRegistration() Option