add oauth authentication (#1681)

* add oauth authentication

Add support for OAuth2.

Change the interface to AuthTypeBase
  - better handling of config parameters
  - add a complete_setup function for additional setup steps

Added a function wrapper to enforce authentication for the
routes that require authenticaiton.

* change fsspec requirement

fsspec 0.8.0 breaks our tests
it imports a module that is does not require.
This commit is contained in:
bmccandless
2020-07-31 18:16:57 -07:00
committed by GitHub
parent bb2326525e
commit 2afa48cf11
12 changed files with 319 additions and 69 deletions
+10 -9
View File
@@ -1,26 +1,27 @@
from server.auth.auth import AuthTypeBase, AuthTypeFactory
from server.common.errors import ConfigurationError
class AuthTypeNone(AuthTypeBase):
def __init__(self):
def __init__(self, app_config):
super().__init__()
def is_valid(self):
def is_valid_authentication_type(self):
return False
def set_params(self, params):
if params:
raise ConfigurationError("not expecting authentication parameters")
def complete_setup(self, app):
pass
def is_authenticated(self):
def is_user_authenticated(self):
return True
def get_userid(self):
def get_user_id(self):
return None
def get_username(self):
def get_user_name(self):
return None
def get_user_email(self):
return None