validate

package
v0.0.0-...-b289748 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2024 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExecuteTemplate

func ExecuteTemplate(template *template.Template, parts []string, params map[string]interface{}) (map[string]string, error)

func ReadTemplateFile

func ReadTemplateFile(pathTempl *template.Template, lang string) (*template.Template, string, error)

func ResolveTemplatePath

func ResolveTemplatePath(path string) (string, error)

func ValidateHostURL

func ValidateHostURL(origUrl string) (string, error)

Types

type Validator

type Validator interface {
	// Init initializes the validator.
	Init(valName string, jsonconf any) error

	// IsInitialized returns true if the validator is initialized.
	IsInitialized() bool

	// PreCheck pre-validates the credential without sending an actual request for validation:
	//
	// check uniqueness (if appropriate), format, etc
	//
	// Returns normalized credential prefixed with an appropriate namespace prefix.
	PreCheck(cred string, params map[string]interface{}) (string, error)

	// Request sends a request for validation to the user. Returns true if it's a new credential,
	// false if it re-sent request for an existing unconfirmed credential.
	//   user: UID of the user making the request.
	//
	//   cred: credential being validated, such as email or phone.
	//
	//   lang: user's human language as repored in the session.
	//
	//   resp: optional response if user already has it (i.e. captcha/recaptcha).
	//
	//   tmpToken: temporary authentication token to include in the request.
	Request(user t.Uid, cred, lang, resp string, tmpToken []byte) (bool, error)

	// ResetSecret sends a message with instructions for resetting an authentication secret.
	//
	//   cred: address to use for the message.
	//
	//   scheme: authentication scheme being reset.
	//
	//   lang: human language as reported in the session.
	//
	//   tmpToken: temporary authentication token
	//
	//   params: authentication params.
	ResetSecret(cred, scheme, lang string, tmpToken []byte, params map[string]interface{}) error

	// Check checks validity of user's response.
	//
	// Returns the value of validated credential on success.
	Check(user t.Uid, resp string) (string, error)

	// Remove deletes or deactivates user's given value.
	Remove(user t.Uid, value string) error

	// Delete deletes user's record.
	Delete(user t.Uid) error

	// TempAuthScheme returns a temporary authentication method used by this validator.
	//
	// It should be either "code" or "token".
	TempAuthScheme() (string, error)
}

Validator handles validation of user's credentials, like email or phone.

Directories

Path Synopsis
Package email is a credential validator which uses an external SMTP server.
Package email is a credential validator which uses an external SMTP server.

Jump to

Keyboard shortcuts

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