@@ -9,13 +9,28 @@ import (
99
1010// Config 授权配置参数
1111type Config struct {
12- TokenExpiresIn time.Duration // 令牌有效期
13- RefreshExpiresIn time.Duration // 刷新令牌有效期
12+ TokenExp time.Duration // 令牌有效期
13+ RefreshExp time.Duration // g令牌有效期
1414}
1515
1616// NewManager 创建Manager的实例
1717func NewManager () * Manager {
18- return nil
18+ m := & Manager {
19+ injector : inject .New (),
20+ }
21+ // 设定参数默认值
22+
23+ // 设定授权码的有效期为10分钟
24+ m .SetRTConfig (oauth2 .Code , & Config {TokenExp : time .Minute * 10 })
25+ // 设定简化模式授权令牌的有效期为1小时
26+ m .SetRTConfig (oauth2 .Token , & Config {TokenExp : time .Hour * 1 })
27+
28+ // 设定授权码模式令牌的有效期为2小时,g令牌的有效期为3天
29+ m .SetGTConfig (oauth2 .PasswordCredentials , & Config {TokenExp : time .Hour * 2 , RefreshExp : time .Hour * 24 * 3 })
30+
31+ // 设定客户端模式令牌的有效期为1小时
32+ m .SetGTConfig (oauth2 .ClientCredentials , & Config {TokenExp : time .Hour * 2 })
33+ return m
1934}
2035
2136// Manager OAuth2授权管理
@@ -149,7 +164,7 @@ func (m *Manager) GenerateAuthToken(rt oauth2.ResponseType, tgr *oauth2.TokenGen
149164 ti .SetRedirectURI (tgr .RedirectURI )
150165 ti .SetScope (tgr .Scope )
151166 ti .SetTokenCreateAt (td .CreateAt )
152- ti .SetTokenExpiresIn (m .rtcfg [rt ].TokenExpiresIn )
167+ ti .SetTokenExpiresIn (m .rtcfg [rt ].TokenExp )
153168 ti .SetToken (tv )
154169 err = stor .Create (ti )
155170 if err != nil {
@@ -188,7 +203,7 @@ func (m *Manager) checkAuthToken(tgr *oauth2.TokenGenerateRequest) (err error) {
188203// gt 授权模式
189204// tgr 生成令牌的参数
190205func (m * Manager ) GenerateToken (gt oauth2.GrantType , tgr * oauth2.TokenGenerateRequest ) (token , refresh string , err error ) {
191- if gt == oauth2 .AuthorizationCode {
206+ if gt == oauth2 .AuthorizationCodeCredentials {
192207 err = m .checkAuthToken (tgr )
193208 if err != nil {
194209 return
@@ -217,11 +232,11 @@ func (m *Manager) GenerateToken(gt oauth2.GrantType, tgr *oauth2.TokenGenerateRe
217232 ti .SetRedirectURI (tgr .RedirectURI )
218233 ti .SetScope (tgr .Scope )
219234 ti .SetTokenCreateAt (td .CreateAt )
220- ti .SetTokenExpiresIn (m .gtcfg [gt ].TokenExpiresIn )
235+ ti .SetTokenExpiresIn (m .gtcfg [gt ].TokenExp )
221236 ti .SetToken (tv )
222237 if rv != "" {
223238 ti .SetRefreshCreateAt (td .CreateAt )
224- ti .SetRefreshExpiresIn (m .gtcfg [gt ].RefreshExpiresIn )
239+ ti .SetRefreshExpiresIn (m .gtcfg [gt ].RefreshExp )
225240 ti .SetRefresh (rv )
226241 }
227242 err = stor .Create (ti )
@@ -236,7 +251,7 @@ func (m *Manager) GenerateToken(gt oauth2.GrantType, tgr *oauth2.TokenGenerateRe
236251 return
237252}
238253
239- // RefreshToken 刷新令牌
254+ // RefreshToken 更新访问令牌
240255func (m * Manager ) RefreshToken (refresh , scope string ) (token string , err error ) {
241256 ti , err := m .CheckRefreshToken (refresh )
242257 if err != nil {
@@ -305,7 +320,7 @@ func (m *Manager) CheckToken(token string) (info oauth2.TokenInfo, err error) {
305320 } else if ti == nil {
306321 err = ErrTokenInvalid
307322 return
308- } else if ti .GetRefresh () != "" && ti .GetRefreshCreateAt ().Add (ti .GetRefreshExpiresIn ()).Before (ct ) { // 检查刷新令牌是否过期
323+ } else if ti .GetRefresh () != "" && ti .GetRefreshCreateAt ().Add (ti .GetRefreshExpiresIn ()).Before (ct ) { // 检查g令牌是否过期
309324 if verr := stor .ExpiredByRefresh (ti .GetRefresh ()); verr != nil {
310325 err = verr
311326 return
@@ -327,7 +342,7 @@ func (m *Manager) CheckToken(token string) (info oauth2.TokenInfo, err error) {
327342 return
328343}
329344
330- // CheckRefreshToken 访问令牌检查
345+ // CheckRefreshToken 更新令牌检查
331346func (m * Manager ) CheckRefreshToken (refresh string ) (info oauth2.TokenInfo , err error ) {
332347 if refresh == "" {
333348 err = ErrRefreshInvalid
0 commit comments