Add expiration check
This commit is contained in:
parent
fbc276d175
commit
1226cbbf11
|
@ -11,10 +11,12 @@ hub:
|
||||||
storageClassName: csi-sc-cinderplugin
|
storageClassName: csi-sc-cinderplugin
|
||||||
extraConfig:
|
extraConfig:
|
||||||
oauthCode: |
|
oauthCode: |
|
||||||
|
import time
|
||||||
from oauthenticator.generic import GenericOAuthenticator
|
from oauthenticator.generic import GenericOAuthenticator
|
||||||
def post_auth_hook(authenticator, handler, authentication):
|
def post_auth_hook(authenticator, handler, authentication):
|
||||||
user = authentication['auth_state']['oauth_user']['ocs']['data']['id']
|
user = authentication['auth_state']['oauth_user']['ocs']['data']['id']
|
||||||
auth_state = authentication['auth_state']
|
auth_state = authentication['auth_state']
|
||||||
|
auth_state['token_expires'] = time.time() + auth_state['token_response']['expires_in']
|
||||||
authenticator.user_dict[user] = auth_state
|
authenticator.user_dict[user] = auth_state
|
||||||
return authentication
|
return authentication
|
||||||
class NextcloudOAuthenticator(GenericOAuthenticator):
|
class NextcloudOAuthenticator(GenericOAuthenticator):
|
||||||
|
@ -31,7 +33,12 @@ hub:
|
||||||
access_token = self.user_dict[user.name]['access_token']
|
access_token = self.user_dict[user.name]['access_token']
|
||||||
refresh_token = self.user_dict[user.name]['refresh_token']
|
refresh_token = self.user_dict[user.name]['refresh_token']
|
||||||
token_response = self.user_dict[user.name]['token_response']
|
token_response = self.user_dict[user.name]['token_response']
|
||||||
print(token_response)
|
now = time.time()
|
||||||
|
expires = self.user_dict[user.name]['token_expires']
|
||||||
|
if now >= expires:
|
||||||
|
print(f'Time is: {now}, token expired: {expires}')
|
||||||
|
return False
|
||||||
|
print(f'Time is: {now}, token expires: {expires}')
|
||||||
return True
|
return True
|
||||||
|
|
||||||
c.JupyterHub.authenticator_class = NextcloudOAuthenticator
|
c.JupyterHub.authenticator_class = NextcloudOAuthenticator
|
||||||
|
|
Loading…
Reference in a new issue