auth

package
v0.0.0-...-8149b9c Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidCredentials = errors.New("invalid credentials")
)

Functions

func ObtainOpenshiftToken

func ObtainOpenshiftToken(username, password string, logger *zap.Logger, ctx *gin.Context) (string, error)

ObtainOpenshiftToken obtains an OAuth token from OpenShift using the provided username and password. It returns the access token on success, or an error on failure. This code was taken from https://gist.github.com/kadel/c30b3085e2e90a93393b99a2b39f4806, with minor adjustments.

func ObtainOpenshiftUsername

func ObtainOpenshiftUsername(token string, logger *zap.Logger) (string, error)

ObtainOpenshiftUsername fetches the username from the OpenShift userinfo endpoint.

Types

type DefaultTokenProvider

type DefaultTokenProvider struct{}

DefaultTokenProvider is a default implementation of TokenProvider.

func (DefaultTokenProvider) ObtainToken

func (d DefaultTokenProvider) ObtainToken(username, password string, logger *zap.Logger, ctx *gin.Context) (string, error)

func (DefaultTokenProvider) ObtainUsername

func (d DefaultTokenProvider) ObtainUsername(token string, logger *zap.Logger) (string, error)

type OpenshiftUserInfo

type OpenshiftUserInfo struct {
	Metadata struct {
		Name string `json:"name"`
	} `json:"metadata"`
}

OpenshiftUserInfo represents the structure of the user info response from OpenShift.

type TokenProvider

type TokenProvider interface {
	ObtainToken(username, password string, logger *zap.Logger, ctx *gin.Context) (string, error)
	ObtainUsername(token string, logger *zap.Logger) (string, error)
}

TokenProvider defines an interface for obtaining a token.

Jump to

Keyboard shortcuts

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