conf

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2022 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthConfig

type AuthConfig struct {
	Connect        ConnectConf        `json:"connect" form:"connect"`               //原串连接配置
	Required       []string           `json:"required" form:"required"`             //必要参数,签名验证时会检查参数是否存在,可空
	Alias          map[string]string  `json:"alias" form:"alias" valid:"required"`  //参数别名,其中用于标记系统euid的别名必须配置
	Decrypt        []string           `json:"decrypt" form:"decrypt"`               //需要解密数据,可空
	CheckTimestamp bool               `json:"checkTimestamp" form:"checkTimestamp"` //是否校验时间戳
	Params         map[string]*Cipher `json:"params" form:"params"`                 //加密参数
}

AuthConfig 认证配置

func GetConf

func GetConf(confStr string) (*AuthConfig, error)

GetConf 获取配置

func GetParams

func GetParams(data map[string]interface{}) (conf *AuthConfig, params map[string]interface{}, err error)

GetParams 获取参数配置

func (*AuthConfig) Check

func (a *AuthConfig) Check(input map[string]interface{}, authType int) (euid, signName, encodeKey string, err error)

Check 检查参数(必须参数,参数别名,时间戳)并获取uid

func (*AuthConfig) GetEncryptData

func (a *AuthConfig) GetEncryptData(input map[string]interface{}) map[string]string

GetEncryptData 获取数据中的加密数据

type Cipher

type Cipher struct {
	Mode    string `json:"mode" form:"mode"`
	Padding string `json:"padding" form:"padding"`
}

type ConnectConf

type ConnectConf struct {
	KV     string        `json:"kv" form:"kv"`         //签名原串中参数键与值连接符,可空
	Chain  string        `json:"chain" form:"chain"`   //签名原串中键值对之间连接符,可空
	Sort   string        `json:"sort" form:"sort"`     //签名原串排序方式,可空(默认data)
	Fields string        `json:"fields" form:"fields"` //签名原串字段排序顺序配置,仅static模式下使用,键名间用|隔开
	Secret SecretConnect `json:"secret" form:"secret"`
}

ConnectConf 原串连接配置

func (*ConnectConf) GetSortFields

func (c *ConnectConf) GetSortFields() []string

GetSortFields 获取排序字段名数组

func (*ConnectConf) GetSortFieldsLen

func (c *ConnectConf) GetSortFieldsLen() int

GetSortFieldsLen 获取排序字段名数组长度

type SecretConnect

type SecretConnect struct {
	Name  string `json:"name" form:"name"`   //secret的键名称,可为空(如果密钥也要进行排序,默认为:secret)
	Mode  string `json:"mode" form:"mode"`   //secret连接方式。排序方式不是all时有效,值有head,tail, headTail
	KV    string `json:"kv" form:"kv"`       //secret与数据key,value的连接方式。未指定时使用connect.kv的连接方式
	Chain string `json:"chain" form:"chain"` //secret与数据的连接方式。未指定时使用connect.chain的连接方式
}

Jump to

Keyboard shortcuts

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