authentication

package
v1.23.2 Latest Latest
Warning

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

Go to latest
Published: May 4, 2021 License: Apache-2.0 Imports: 10 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

Set provides the use-case of Authentication.

Functions

This section is empty.

Types

type Authentication

type Authentication struct {
	ClientFactory    client.FactoryInterface
	Logger           logger.Interface
	Clock            clock.Interface
	AuthCodeBrowser  *authcode.Browser
	AuthCodeKeyboard *authcode.Keyboard
	ROPC             *ropc.ROPC
}

Authentication provides the internal use-case of authentication.

If the IDToken is not set, it performs the authentication flow. If the IDToken is valid, it does nothing. If the IDtoken has expired and the RefreshToken is set, it refreshes the token. If the RefreshToken has expired, it performs the authentication flow.

The authentication flow is determined as:

If the Username is not set, it performs the authorization code flow. Otherwise, it performs the resource owner password credentials flow. If the Password is not set, it asks a password by the prompt.

func (*Authentication) Do

func (u *Authentication) Do(ctx context.Context, in Input) (*Output, error)

type GrantOptionSet

type GrantOptionSet struct {
	AuthCodeBrowserOption  *authcode.BrowserOption
	AuthCodeKeyboardOption *authcode.KeyboardOption
	ROPCOption             *ropc.Option
}

type Input

type Input struct {
	Provider        oidc.Provider
	GrantOptionSet  GrantOptionSet
	CachedTokenSet  *oidc.TokenSet // optional
	TLSClientConfig tlsclientconfig.Config
}

Input represents an input DTO of the Authentication use-case.

type Interface

type Interface interface {
	Do(ctx context.Context, in Input) (*Output, error)
}

type Output

type Output struct {
	AlreadyHasValidIDToken bool
	TokenSet               oidc.TokenSet
}

Output represents an output DTO of the Authentication use-case.

Directories

Path Synopsis
Package mock_authentication is a generated GoMock package.
Package mock_authentication is a generated GoMock package.

Jump to

Keyboard shortcuts

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