auth

package
v0.0.0-...-539d32a Latest Latest
Warning

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

Go to latest
Published: May 23, 2023 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContextKeyUser   = "CONTEXT_USER"
	ContextKeyClient = "CONTEXT_CLIENT"

	ContextKeyAuthStatus = "CONTEXT_AUTH_STATUS"

	ContextKeyAuthFailed = "CONTEXT_AUTH_FAILED"

	ContextKeyDirectLoginFormat = "CONTEXT_DIRECT_LOGIN_FORMAT"
)
View Source
const (
	SeparatorATSign   = "@"
	SeparatorHashMark = "#"
)
View Source
const (
	ErrLoginConfirmWait     = "login_confirm_wait"
	ErrLoginConfirmRejected = "login_confirm_rejected"
	ErrLoginConfirmRequired = "login_confirm_required"
	ErrMFARequired          = "mfa_required"
	ErrPasswordFailed       = "password_failed"
)

Variables

This section is empty.

Functions

func CreateSelectOptionsQuestion

func CreateSelectOptionsQuestion(options []string) string

func GetUsernameFromSSHCtx

func GetUsernameFromSSHCtx(ctx ssh.Context) string

func HTTPMiddleDebugAuth

func HTTPMiddleDebugAuth() gin.HandlerFunc

func HTTPMiddleSessionAuth

func HTTPMiddleSessionAuth(jmsService *service.JMService) gin.HandlerFunc

func SSHKeyboardInteractiveAuth

func SSHKeyboardInteractiveAuth(ctx ssh.Context, challenger gossh.KeyboardInteractiveChallenge) (res sshd.AuthStatus)

Types

type ConfirmOption

type ConfirmOption func(*connectionConfirmOption)

func ConfirmWithSystemUser

func ConfirmWithSystemUser(sysUser *model.SystemUserAuthInfo) ConfirmOption

func ConfirmWithTargetID

func ConfirmWithTargetID(targetID string) ConfirmOption

func ConfirmWithTargetType

func ConfirmWithTargetType(targetType string) ConfirmOption

func ConfirmWithUser

func ConfirmWithUser(user *model.User) ConfirmOption

type DirectLoginAssetReq

type DirectLoginAssetReq struct {
	Username    string
	SysUserInfo string
	AssetInfo   string
	Info        *model.ConnectTokenInfo
}

func ParseDirectUserFormat

func ParseDirectUserFormat(s string) (DirectLoginAssetReq, bool)

func (*DirectLoginAssetReq) Authenticate

func (d *DirectLoginAssetReq) Authenticate(password string) bool

func (*DirectLoginAssetReq) IsToken

func (d *DirectLoginAssetReq) IsToken() bool

func (*DirectLoginAssetReq) IsUUIDString

func (d *DirectLoginAssetReq) IsUUIDString() bool

func (*DirectLoginAssetReq) User

func (d *DirectLoginAssetReq) User() string

type LoginConfirmService

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

func NewLoginConfirm

func NewLoginConfirm(jmsService *service.JMService, opts ...ConfirmOption) LoginConfirmService

func (*LoginConfirmService) CheckIsNeedLoginConfirm

func (c *LoginConfirmService) CheckIsNeedLoginConfirm() (bool, error)

func (*LoginConfirmService) GetProcessor

func (c *LoginConfirmService) GetProcessor() string

func (*LoginConfirmService) GetReviewers

func (c *LoginConfirmService) GetReviewers() []string

func (*LoginConfirmService) GetTicketId

func (c *LoginConfirmService) GetTicketId() string

func (*LoginConfirmService) GetTicketUrl

func (c *LoginConfirmService) GetTicketUrl() string

func (*LoginConfirmService) WaitLoginConfirm

func (c *LoginConfirmService) WaitLoginConfirm(ctx context.Context) Status

type SSHAuthFunc

type SSHAuthFunc func(ctx ssh.Context, password, publicKey string) (res sshd.AuthStatus)

func SSHPasswordAndPublicKeyAuth

func SSHPasswordAndPublicKeyAuth(jmsService *service.JMService) SSHAuthFunc

type Status

type Status int
const (
	StatusApprove Status = iota + 1
	StatusReject
	StatusCancel
)

type StatusAuth

type StatusAuth int64

type UserAuthClient

type UserAuthClient struct {
	*service.UserClient
	// contains filtered or unexported fields
}

func (*UserAuthClient) Authenticate

func (u *UserAuthClient) Authenticate(ctx context.Context) (user model.User, authStatus StatusAuth)

func (*UserAuthClient) CancelConfirm

func (u *UserAuthClient) CancelConfirm()

func (*UserAuthClient) CheckConfirm

func (u *UserAuthClient) CheckConfirm(ctx context.Context) (user model.User, authStatus StatusAuth)

func (*UserAuthClient) CheckConfirmAuth

func (u *UserAuthClient) CheckConfirmAuth(ctx ssh.Context, challenger gossh.KeyboardInteractiveChallenge) (ok bool)

func (*UserAuthClient) CheckMFAAuth

func (u *UserAuthClient) CheckMFAAuth(ctx ssh.Context, challenger gossh.KeyboardInteractiveChallenge) (ok bool)

func (*UserAuthClient) CheckUserOTP

func (u *UserAuthClient) CheckUserOTP(ctx context.Context, MFAType string, code string) (user model.User, authStatus StatusAuth)

func (*UserAuthClient) GetMFAOptions

func (u *UserAuthClient) GetMFAOptions() []string

func (*UserAuthClient) SetOption

func (u *UserAuthClient) SetOption(setters ...service.UserClientOption)

Jump to

Keyboard shortcuts

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