lib

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2022 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RedirectURI                   = "redirect_uri"
	CodeVerifier                  = "code_verifier"
	FnOAuthAuthorizationUrl       = "oauth2_authorization_url"
	FnOAuthVerifier               = "oauth2_verifier"
	InternalFnOAuthHashedVerifier = "internal_oauth_hashed_verifier"
)
View Source
const (
	FnSamlSsoUrl            = "saml_sso_url"
	NameIdFormatUnspecified = "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
)
View Source
const FnJWTSign = "jwt_sign"

Variables

View Source
var (
	Base64DecodeFunc = newBase64DecodeFunction()
	Base64EncodeFunc = newBase64EncodeFunction()
)
View Source
var (
	UrlEncodeFunc   = newUrlEncodeFunction()
	RelativeUrlFunc = newRelativeUrlFunction()
)
View Source
var DefaultFunc = function.New(&function.Spec{
	VarParam: &function.Parameter{
		Name:             "vals",
		Type:             cty.DynamicPseudoType,
		AllowUnknown:     true,
		AllowDynamicType: true,
		AllowNull:        true,
	},
	Type: func(args []cty.Value) (cty.Type, error) {
		if len(args) < 2 {
			return cty.NilType, fmt.Errorf("not enough arguments")
		}

		return args[len(args)-1].Type(), nil
	},
	Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) {
		for _, argVal := range args {
			if !argVal.IsKnown() {
				return cty.UnknownVal(retType), nil
			}
			if argVal.IsNull() || argVal.Type() == cty.NilType {
				continue
			}

			if argVal.Type() == cty.String && argVal.AsString() == "" && retType == cty.String {
				continue
			}

			return convert.Convert(argVal, retType)
		}
		return args[len(args)-1], nil
	},
})
View Source
var (
	MergeFunc = newMergeFunction()
)
View Source
var (
	UnixtimeFunc = newUnixtimeFunction()
)

Functions

func AbsoluteURL

func AbsoluteURL(urlRef string, origin *url.URL) (string, error)

func CreateJWT

func CreateJWT(signatureAlgorithm string, key interface{}, mapClaims jwt.MapClaims, headers map[string]interface{}) (string, error)

func Merge added in v1.7.0

func Merge(args []cty.Value) (cty.Value, error)

func NewJwtSignFunction

func NewJwtSignFunction(ctx *hcl.EvalContext, jwtSigningConfigs map[string]*JWTSigningConfig,
	evalFn func(*hcl.EvalContext, hcl.Expression) (cty.Value, error)) function.Function

func NewOAuthAuthorizationUrlFunction

func NewOAuthAuthorizationUrlFunction(ctx *hcl.EvalContext, oauth2Configs []config.OAuth2Authorization,
	verifier func() (*pkce.CodeVerifier, error), origin *url.URL,
	evalFn func(*hcl.EvalContext, hcl.Expression) (cty.Value, error)) function.Function

func NewOAuthCodeChallengeFunction

func NewOAuthCodeChallengeFunction(verifier func() (*pkce.CodeVerifier, error)) function.Function

func NewOAuthCodeVerifierFunction

func NewOAuthCodeVerifierFunction(verifier func() (*pkce.CodeVerifier, error)) function.Function

func NewSamlSsoUrlFunction

func NewSamlSsoUrlFunction(configs []*config.SAML, origin *url.URL) function.Function

Types

type JWTSigningConfig

type JWTSigningConfig struct {
	Claims             config.Claims
	Headers            hcl.Expression
	Key                interface{}
	Name               string
	SignatureAlgorithm string
	TTL                time.Duration
}

func NewJWTSigningConfigFromJWT

func NewJWTSigningConfigFromJWT(j *config.JWT) (*JWTSigningConfig, error)

func NewJWTSigningConfigFromJWTSigningProfile

func NewJWTSigningConfigFromJWTSigningProfile(j *config.JWTSigningProfile) (*JWTSigningConfig, error)

Jump to

Keyboard shortcuts

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