diff --git a/packages/login-extension/src/index.ts b/packages/login-extension/src/index.ts index ebe48b5..ac9b031 100644 --- a/packages/login-extension/src/index.ts +++ b/packages/login-extension/src/index.ts @@ -9,6 +9,8 @@ import github_logo from '../style/img/github-logo.svg'; import google_logo from '../style/img/google-logo.svg'; +import azure_logo from '../style/img/azure-logo.svg'; + export namespace CommandIDs { export const plugin = '@quetz-frontend/login-extension:login'; } @@ -34,6 +36,14 @@ const plugin: JupyterFrontEndPlugin = { loggedIn: false, }; + const azuread: LogInItem = { + id: 'azuread', + label: 'AzureAD LogIn', + icon: azure_logo, + api: '/auth/azuread/login', + loggedIn: false, + }; + const config_data = document.getElementById('jupyter-config-data'); if (config_data) { try { @@ -44,11 +54,15 @@ const plugin: JupyterFrontEndPlugin = { if (data.google_login_available) { logInMenu.addItem(google); } + if (data.azuread_login_available) { + logInMenu.addItem(azuread); + } } catch (err) { console.error(err.message); // add both if cannot parse data logInMenu.addItem(gitHub); logInMenu.addItem(google); + logInMenu.addItem(azuread); } } }, diff --git a/packages/login-extension/style/img/azure-logo.svg b/packages/login-extension/style/img/azure-logo.svg new file mode 100644 index 0000000..958683b --- /dev/null +++ b/packages/login-extension/style/img/azure-logo.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/quetz_frontend/backend.py b/quetz_frontend/backend.py index 61ccaa8..4fed2ff 100644 --- a/quetz_frontend/backend.py +++ b/quetz_frontend/backend.py @@ -229,11 +229,10 @@ def register(app): google_login_available = auth_registry.is_registered("google") github_login_available = auth_registry.is_registered("github") gitlab_login_available = auth_registry.is_registered("gitlab") + azuread_login_available = auth_registry.is_registered("azuread") config_data = { "appName": "Quetz – the fast conda package server!", - "github_login_available": github_login_available, - "google_login_available": google_login_available, "baseUrl": "/", "wsUrl": "", "appUrl": "/jlabmock", @@ -251,6 +250,7 @@ def register(app): "github_login_available": github_login_available, "gitlab_login_available": gitlab_login_available, "google_login_available": google_login_available, + "azuread_login_available" : azuread_login_available, "cacheFiles": False, "devMode": False, "mode": "multiple-document",