added config options and nonce
This commit is contained in:
parent
1613055dfd
commit
473d54569c
10 changed files with 146 additions and 85 deletions
33
hash.go
33
hash.go
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2018 Marius Schellenberger
|
||||
// Copyright (C) 2025 Marius Schellenberger
|
||||
|
||||
package jwt
|
||||
|
||||
|
|
@ -14,19 +14,25 @@ const (
|
|||
HS512Name = "HS512"
|
||||
)
|
||||
|
||||
// ParseHash returns the Hash type equal to the input string
|
||||
func ParseHash(alg string) Hash {
|
||||
// NewHash returns the Hash type equal to the input string
|
||||
func NewHash(alg string) Hash {
|
||||
switch alg {
|
||||
case HS256Name:
|
||||
return NewHS256()
|
||||
return hs256
|
||||
case HS384Name:
|
||||
return NewHS384()
|
||||
return hs384
|
||||
case HS512Name:
|
||||
return NewHS512()
|
||||
return hs512
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var (
|
||||
hs256 = HS256{}
|
||||
hs384 = HS384{}
|
||||
hs512 = HS512{}
|
||||
)
|
||||
|
||||
// Hash is the hashsum interface for signing the jwt
|
||||
type Hash interface {
|
||||
Hash() hash.Hash
|
||||
|
|
@ -36,11 +42,6 @@ type Hash interface {
|
|||
// HS256 implements the Hash interface with SHA256
|
||||
type HS256 struct{}
|
||||
|
||||
// NewHS256 returns a new HS256 instance
|
||||
func NewHS256() Hash {
|
||||
return HS256{}
|
||||
}
|
||||
|
||||
// Alg returns the algorithm name "HS256"
|
||||
func (HS256) Alg() string {
|
||||
return HS256Name
|
||||
|
|
@ -54,11 +55,6 @@ func (HS256) Hash() hash.Hash {
|
|||
// HS384 implements the Hash interface with SHA384
|
||||
type HS384 struct{}
|
||||
|
||||
// NewHS384 returns a new HS384 instance
|
||||
func NewHS384() Hash {
|
||||
return HS384{}
|
||||
}
|
||||
|
||||
// Alg returns the algorithm name "HS384"
|
||||
func (HS384) Alg() string {
|
||||
return HS384Name
|
||||
|
|
@ -72,11 +68,6 @@ func (HS384) Hash() hash.Hash {
|
|||
// HS512 implements the Hash interface with SHA512
|
||||
type HS512 struct{}
|
||||
|
||||
// NewHS512 returns a new HS512 instance
|
||||
func NewHS512() Hash {
|
||||
return HS512{}
|
||||
}
|
||||
|
||||
// Alg returns the algorithm name "HS512"
|
||||
func (HS512) Alg() string {
|
||||
return HS512Name
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue