@@ -32,16 +32,27 @@ class DryccOIDC(OpenIdConnectAuth):
3232 ('scope' , 'scope' ),
3333 ]
3434
35+ def __init__ (self , * args , ** kwargs ):
36+ self .timeout = 3 # request timeout
37+ super ().__init__ (* args , ** kwargs )
38+
3539 @social_cache (ttl = 86400 )
3640 def oidc_config (self ):
37- return self .get_json (self .OIDC_ENDPOINT +
38- '/.well-known/openid-configuration/' )
41+ return self .get_json (
42+ self .OIDC_ENDPOINT + '/.well-known/openid-configuration/' ,
43+ timeout = self .timeout
44+ )
3945
4046 def get_user_data (self , access_token ):
4147 """Loads user data from service"""
4248 url = settings .SOCIAL_AUTH_DRYCC_USERINFO_URL
43- response = self .get_json (url , headers = {
44- 'authorization' : 'Bearer ' + access_token })
49+ response = self .get_json (
50+ url ,
51+ headers = {
52+ 'authorization' : 'Bearer ' + access_token
53+ },
54+ timeout = self .timeout ,
55+ )
4556 return {
4657 'id' : response .get ('id' ),
4758 'username' : response .get ('username' ),
@@ -62,13 +73,13 @@ def refresh_token(self, refresh_token):
6273 'client_id' : settings .SOCIAL_AUTH_DRYCC_KEY ,
6374 'refresh_token' : refresh_token ,
6475 },
76+ timeout = self .timeout ,
6577 )
6678
6779
6880class OauthCacheManager (object ):
6981
70- def __init__ (self , timeout = 60 * 10 ):
71- self .timeout = timeout
82+ def __init__ (self ):
7283 self .drycc_oauth = DryccOIDC ()
7384
7485 def get_user (self , access_token ):
@@ -82,13 +93,13 @@ def _get_user(access_token):
8293 logger .info (e )
8394 raise exceptions .AuthenticationFailed (gettext_lazy ('Verify token fail.' ))
8495 return cache .get_or_set (
85- access_token , lambda : _get_user (access_token ), settings .OAUTH_CACHE_USER_TIME )
96+ access_token , lambda : _get_user (access_token ), settings .DRYCC_CACHE_USER_TIME )
8697
8798 def set_state (self , key , state ):
88- cache .set ("oidc_key_" + key , state , self . timeout )
99+ cache .set ("oidc_key_" + key , state , settings . DRYCC_CACHE_USER_TIME )
89100
90101 def set_token (self , state , data ):
91- cache .set ("oidc_state_" + state , data , self . timeout )
102+ cache .set ("oidc_state_" + state , data , settings . DRYCC_CACHE_USER_TIME )
92103
93104 def get_token (self , key ):
94105 state = cache .get ("oidc_key_" + key , "" )
0 commit comments