64 lignes
1,8 Kio
Go
64 lignes
1,8 Kio
Go
|
package compose
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"github.com/ory/fosite"
|
||
|
)
|
||
|
|
||
|
type Config struct {
|
||
|
// AccessTokenLifespan sets how long an access token is going to be valid. Defaults to one hour.
|
||
|
AccessTokenLifespan time.Duration
|
||
|
|
||
|
// AuthorizeCodeLifespan sets how long an authorize code is going to be valid. Defaults to fifteen minutes.
|
||
|
AuthorizeCodeLifespan time.Duration
|
||
|
|
||
|
// IDTokenLifespan sets how long an id token is going to be valid. Defaults to one hour.
|
||
|
IDTokenLifespan time.Duration
|
||
|
|
||
|
// HashCost sets the cost of the password hashing cost. Defaults to 12.
|
||
|
HashCost int
|
||
|
|
||
|
ScopeStrategy fosite.ScopeStrategy
|
||
|
}
|
||
|
|
||
|
// GetScopeStrategy returns the scope strategy to be used. Defaults to glob scope strategy.
|
||
|
func (c *Config) GetScopeStrategy() fosite.ScopeStrategy {
|
||
|
if c.ScopeStrategy == nil {
|
||
|
c.ScopeStrategy = fosite.WildcardScopeStrategy
|
||
|
}
|
||
|
return c.ScopeStrategy
|
||
|
}
|
||
|
|
||
|
// GetAuthorizeCodeLifespan returns how long an authorize code should be valid. Defaults to one fifteen minutes.
|
||
|
func (c *Config) GetAuthorizeCodeLifespan() time.Duration {
|
||
|
if c.AuthorizeCodeLifespan == 0 {
|
||
|
return time.Minute * 15
|
||
|
}
|
||
|
return c.AuthorizeCodeLifespan
|
||
|
}
|
||
|
|
||
|
// GeIDTokenLifespan returns how long an id token should be valid. Defaults to one hour.
|
||
|
func (c *Config) GetIDTokenLifespan() time.Duration {
|
||
|
if c.IDTokenLifespan == 0 {
|
||
|
return time.Hour
|
||
|
}
|
||
|
return c.IDTokenLifespan
|
||
|
}
|
||
|
|
||
|
// GetAccessTokenLifespan returns how long a refresh token should be valid. Defaults to one hour.
|
||
|
func (c *Config) GetAccessTokenLifespan() time.Duration {
|
||
|
if c.AccessTokenLifespan == 0 {
|
||
|
return time.Hour
|
||
|
}
|
||
|
return c.AccessTokenLifespan
|
||
|
}
|
||
|
|
||
|
// GetAccessTokenLifespan returns how long a refresh token should be valid. Defaults to one hour.
|
||
|
func (c *Config) GetHashCost() int {
|
||
|
if c.HashCost == 0 {
|
||
|
return 12
|
||
|
}
|
||
|
return c.HashCost
|
||
|
}
|