diff options
Diffstat (limited to 'vendor/github.com/superseriousbusiness/oauth2/v4/manage/config.go')
-rw-r--r-- | vendor/github.com/superseriousbusiness/oauth2/v4/manage/config.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/vendor/github.com/superseriousbusiness/oauth2/v4/manage/config.go b/vendor/github.com/superseriousbusiness/oauth2/v4/manage/config.go new file mode 100644 index 000000000..664c0a386 --- /dev/null +++ b/vendor/github.com/superseriousbusiness/oauth2/v4/manage/config.go @@ -0,0 +1,39 @@ +package manage + +import "time" + +// Config authorization configuration parameters +type Config struct { + // access token expiration time, 0 means it doesn't expire + AccessTokenExp time.Duration + // refresh token expiration time, 0 means it doesn't expire + RefreshTokenExp time.Duration + // whether to generate the refreshing token + IsGenerateRefresh bool +} + +// RefreshingConfig refreshing token config +type RefreshingConfig struct { + // access token expiration time, 0 means it doesn't expire + AccessTokenExp time.Duration + // refresh token expiration time, 0 means it doesn't expire + RefreshTokenExp time.Duration + // whether to generate the refreshing token + IsGenerateRefresh bool + // whether to reset the refreshing create time + IsResetRefreshTime bool + // whether to remove access token + IsRemoveAccess bool + // whether to remove refreshing token + IsRemoveRefreshing bool +} + +// default configs +var ( + DefaultCodeExp = time.Minute * 10 + DefaultAuthorizeCodeTokenCfg = &Config{AccessTokenExp: time.Hour * 2, RefreshTokenExp: time.Hour * 24 * 3, IsGenerateRefresh: true} + DefaultImplicitTokenCfg = &Config{AccessTokenExp: time.Hour * 1} + DefaultPasswordTokenCfg = &Config{AccessTokenExp: time.Hour * 2, RefreshTokenExp: time.Hour * 24 * 7, IsGenerateRefresh: true} + DefaultClientTokenCfg = &Config{AccessTokenExp: time.Hour * 2} + DefaultRefreshTokenCfg = &RefreshingConfig{IsGenerateRefresh: true, IsRemoveAccess: true, IsRemoveRefreshing: true} +) |