auth

package
v1.64.0 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2022 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Auth

type Auth struct {
	// contains filtered or unexported fields
}

Auth handles authenticating users with GitLab API

func New

func New(pagesDomain, storeSecret, clientID, clientSecret, redirectURI, internalGitlabServer, publicGitlabServer, authScope string, authTimeout, cookieSessionTimeout time.Duration) (*Auth, error)

New when authentication supported this will be used to create authentication handler

func (*Auth) AuthenticationMiddleware added in v1.46.0

func (a *Auth) AuthenticationMiddleware(handler http.Handler, s source.Source) http.Handler

AuthenticationMiddleware handles authentication requests

func (*Auth) AuthorizationMiddleware added in v1.46.0

func (a *Auth) AuthorizationMiddleware(handler http.Handler) http.Handler

AuthorizationMiddleware handles authorization

func (*Auth) CheckAuthentication

func (a *Auth) CheckAuthentication(w http.ResponseWriter, r *http.Request, domain domain) bool

CheckAuthentication checks if user is authenticated and has access to the project will return contentServed = false when authFailed = true

func (*Auth) CheckAuthenticationWithoutProject

func (a *Auth) CheckAuthenticationWithoutProject(w http.ResponseWriter, r *http.Request, domain domain) bool

CheckAuthenticationWithoutProject checks if user is authenticated and has a valid token

func (*Auth) CheckResponseForInvalidToken added in v1.10.0

func (a *Auth) CheckResponseForInvalidToken(w http.ResponseWriter, r *http.Request,
	resp *http.Response,
) bool

CheckResponseForInvalidToken checks response for invalid token and destroys session if it was invalid

func (*Auth) DecryptCode added in v1.28.1

func (a *Auth) DecryptCode(jwt, domain string) (string, error)

DecryptCode decodes the secureCode as a JWT token and validates its signature. It then decrypts the code from the token claims and returns it.

func (*Auth) EncryptAndSignCode added in v1.28.1

func (a *Auth) EncryptAndSignCode(domain, code string) (string, error)

EncryptAndSignCode encrypts the OAuth code deriving the key from the domain. It adds the code and domain as JWT token claims and signs it using signingKey derived from the Auth secret.

func (*Auth) GetTokenIfExists added in v1.10.0

func (a *Auth) GetTokenIfExists(w http.ResponseWriter, r *http.Request) (string, error)

GetTokenIfExists returns the token if it exists

func (*Auth) IsAuthSupported

func (a *Auth) IsAuthSupported() bool

IsAuthSupported checks if pages is running with the authentication support

func (*Auth) RequireAuth added in v1.10.0

func (a *Auth) RequireAuth(w http.ResponseWriter, r *http.Request) bool

RequireAuth will trigger authentication flow if no token exists

func (*Auth) TryAuthenticate

func (a *Auth) TryAuthenticate(w http.ResponseWriter, r *http.Request, domains source.Source) bool

TryAuthenticate tries to authenticate user and fetch access token if request is a callback to /auth?

Jump to

Keyboard shortcuts

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