From 1226cbbf11128ec2665c742bd7d8eb3f115b4556 Mon Sep 17 00:00:00 2001 From: Micke Nordin Date: Sat, 13 Jan 2024 15:47:22 +0100 Subject: [PATCH] Add expiration check --- jupyter/base/values/values.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/jupyter/base/values/values.yaml b/jupyter/base/values/values.yaml index 5f2905c..3f98e1e 100644 --- a/jupyter/base/values/values.yaml +++ b/jupyter/base/values/values.yaml @@ -11,10 +11,12 @@ hub: storageClassName: csi-sc-cinderplugin extraConfig: oauthCode: | + import time from oauthenticator.generic import GenericOAuthenticator def post_auth_hook(authenticator, handler, authentication): user = authentication['auth_state']['oauth_user']['ocs']['data']['id'] auth_state = authentication['auth_state'] + auth_state['token_expires'] = time.time() + auth_state['token_response']['expires_in'] authenticator.user_dict[user] = auth_state return authentication class NextcloudOAuthenticator(GenericOAuthenticator): @@ -31,7 +33,12 @@ hub: access_token = self.user_dict[user.name]['access_token'] refresh_token = self.user_dict[user.name]['refresh_token'] 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 c.JupyterHub.authenticator_class = NextcloudOAuthenticator