auth

package
v0.0.398 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GithubJWTAudience = "nscloud.dev/inline-token"
)

Variables

View Source
var Workspace string

Functions

func EnsureTokenValidAt added in v0.0.192

func EnsureTokenValidAt(ctx context.Context, target time.Time) error

func SetupFlags added in v0.0.197

func SetupFlags(flags *pflag.FlagSet)

func StoreMarshalledUser added in v0.0.136

func StoreMarshalledUser(ctx context.Context, userAuthData []byte) error

func StoreTenantToken added in v0.0.145

func StoreTenantToken(token string) error

func StoreToken added in v0.0.311

func StoreToken(token Token) error

Types

type IssueCertFunc added in v0.0.395

type IssueCertFunc func(context.Context, string, string) (string, error)

type Token added in v0.0.145

type Token struct {
	BearerToken  string `json:"bearer_token,omitempty"`
	SessionToken string `json:"session_token,omitempty"`
	// contains filtered or unexported fields
}

func FetchTokenFromSpec added in v0.0.198

func FetchTokenFromSpec(ctx context.Context, spec string) (*Token, error)

func LoadTenantToken added in v0.0.145

func LoadTenantToken(ctx context.Context) (*Token, error)

func LoadTokenFromPath added in v0.0.191

func LoadTokenFromPath(ctx context.Context, path string, validAt time.Time) (*Token, error)

func (*Token) Claims added in v0.0.311

func (t *Token) Claims(ctx context.Context) (*TokenClaims, error)

func (*Token) ExchangeForSessionClientCert added in v0.0.395

func (t *Token) ExchangeForSessionClientCert(ctx context.Context, publicKeyPem string, issueFromSession IssueCertFunc) (string, error)

func (*Token) IsSessionToken added in v0.0.314

func (t *Token) IsSessionToken() bool

func (*Token) IssueToken added in v0.0.311

func (t *Token) IssueToken(ctx context.Context, minDur time.Duration, issueShortTerm func(context.Context, string, time.Duration) (string, error), skipCache bool) (string, error)

func (*Token) PrimaryRegion added in v0.0.312

func (t *Token) PrimaryRegion(ctx context.Context) (string, error)

func (*Token) UnmarshalJSON added in v0.0.191

func (t *Token) UnmarshalJSON(data []byte) error

TODO: remove when legacy token.json format is not used anymore.

type TokenClaims added in v0.0.311

type TokenClaims struct {
	jwt.RegisteredClaims

	TenantID      string `json:"tenant_id"`
	InstanceID    string `json:"instance_id"`
	OwnerID       string `json:"owner_id"`
	PrimaryRegion string `json:"primary_region"`
}

type UserAuth added in v0.0.136

type UserAuth struct {
	Username       string `json:"username,omitempty"`
	Org            string `json:"org,omitempty"` // The organization this user is acting as. Only really relevant for robot accounts which authenticate against a repository.
	InternalOpaque []byte `json:"opaque,omitempty"`

	Clerk          *clerk.State `json:"clerk,omitempty"`
	IsGithubAction bool         `json:"is_github_action,omitempty"`
}

func LoadUser added in v0.0.136

func LoadUser() (*UserAuth, error)

Jump to

Keyboard shortcuts

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