auth

package
v2.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HasRoles

func HasRoles(holder TokenRoles, clientId string, roles ...string) bool

func WithJwtContext

func WithJwtContext(ctx context.Context, realmUrl string, jwtContext JwtContext) context.Context

func WithJwtContextStorage

func WithJwtContextStorage(ctx context.Context) context.Context

Types

type JwtContext

type JwtContext interface {
	VerifyTokenWithConfig(ctx context.Context, token string, config oidc.Config) (TokenRoles, error)
	VerifyToken(ctx context.Context, token string, clientId string) (TokenRoles, error)
	OAuthConfig(ctx context.Context, clientId string, clientSecret string) (*oauth2.Config, error)
	ExchangeToken(ctx context.Context, token string, fromClient string, toClient string) (*oauth2.Token, error)
	ExchangeTokenWithConfig(ctx context.Context, token string, toClient string, oauthConfig oauth2.Config) (*oauth2.Token, error)
	GetToken(ctx context.Context, client string, username string, pwd string) (*oauth2.Token, error)
	GetTokenFromLiteralAccessToken(ctx context.Context, literalAccessToken, clientId string, withOfflineRefresh bool) (*oauth2.Token, error)
	GetTokenFromLiteralAccessTokenWithConfig(ctx context.Context, literalAccessToken string, withOfflineRefresh bool, oauthConfig oauth2.Config) (*oauth2.Token, error)
	RefreshToken(ctx context.Context, refreshToken string, client string) (*oauth2.Token, error)
	RefreshTokenWithConfig(ctx context.Context, refreshToken string, oauthConfig oauth2.Config) (*oauth2.Token, error)
	Sourcify(ctx context.Context, token *oauth2.Token, client string) (oauth2.TokenSource, error)
	OAuthEndpoint(ctx context.Context) (*oauth2.Endpoint, error)
}

func JwtContextFromContext

func JwtContextFromContext(ctx context.Context, realmUrl string) JwtContext

type JwtContextImpl

type JwtContextImpl struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*JwtContextImpl) ExchangeToken deprecated

func (c *JwtContextImpl) ExchangeToken(ctx context.Context, token string, fromClient string, toClient string) (*oauth2.Token, error)

Deprecated: Use specialized GetTokenFromLiteralAccessToken and RefreshToken funcs instead

func (*JwtContextImpl) ExchangeTokenWithConfig deprecated

func (c *JwtContextImpl) ExchangeTokenWithConfig(ctx context.Context, token string, toClient string, oauthConfig oauth2.Config) (*oauth2.Token, error)

Deprecated: Use specialized GetTokenFromLiteralAccessToken and RefreshToken funcs instead

func (*JwtContextImpl) GetToken

func (c *JwtContextImpl) GetToken(ctx context.Context, client string, username string, pwd string) (*oauth2.Token, error)

func (*JwtContextImpl) GetTokenFromLiteralAccessToken

func (c *JwtContextImpl) GetTokenFromLiteralAccessToken(ctx context.Context, literalAccessToken, clientId string, withOfflineRefresh bool) (*oauth2.Token, error)

func (*JwtContextImpl) GetTokenFromLiteralAccessTokenWithConfig

func (c *JwtContextImpl) GetTokenFromLiteralAccessTokenWithConfig(ctx context.Context, literalAccessToken string, withOfflineRefresh bool, oauthConfig oauth2.Config) (*oauth2.Token, error)

func (*JwtContextImpl) OAuthConfig

func (c *JwtContextImpl) OAuthConfig(ctx context.Context, clientId string, clientSecret string) (*oauth2.Config, error)

func (*JwtContextImpl) OAuthEndpoint

func (c *JwtContextImpl) OAuthEndpoint(ctx context.Context) (*oauth2.Endpoint, error)

func (*JwtContextImpl) RefreshToken

func (c *JwtContextImpl) RefreshToken(ctx context.Context, refreshToken string, client string) (*oauth2.Token, error)

func (*JwtContextImpl) RefreshTokenWithConfig

func (c *JwtContextImpl) RefreshTokenWithConfig(ctx context.Context, refreshToken string, oauthConfig oauth2.Config) (*oauth2.Token, error)

func (*JwtContextImpl) Sourcify

func (c *JwtContextImpl) Sourcify(ctx context.Context, token *oauth2.Token, client string) (oauth2.TokenSource, error)

func (*JwtContextImpl) VerifyToken

func (c *JwtContextImpl) VerifyToken(ctx context.Context, token string, clientId string) (TokenRoles, error)

func (*JwtContextImpl) VerifyTokenWithConfig

func (c *JwtContextImpl) VerifyTokenWithConfig(ctx context.Context, token string, config oidc.Config) (TokenRoles, error)

type TokenRoles

type TokenRoles interface {
	ClientRoles(clientId string) []string
}

func TokenRolesFromKeycloakTokenPayload

func TokenRolesFromKeycloakTokenPayload(oidcToken *oidc.IDToken) (TokenRoles, error)

Jump to

Keyboard shortcuts

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