X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/060d38d627bd1e51dd2b3c6e7de9af6aa7d7b6f3..42c20b25e1325124b88e3b9b285544dc41122b56:/apps/workbench/app/views/users/welcome.html.erb diff --git a/apps/workbench/app/views/users/welcome.html.erb b/apps/workbench/app/views/users/welcome.html.erb index b10ca8b15d..92fd6dad46 100644 --- a/apps/workbench/app/views/users/welcome.html.erb +++ b/apps/workbench/app/views/users/welcome.html.erb @@ -4,42 +4,72 @@ SPDX-License-Identifier: AGPL-3.0 %> <% content_for :breadcrumbs do raw '' end %> -
-
-
- <%= image_tag "dax.png", style: "width: 112px; height: 150px; margin-right: 2em", class: 'pull-left' %> - -

Please log in.

- -

+<%= javascript_tag do %> + function controller_password_authenticate(event) { + event.preventDefault() + document.getElementById('login-authenticate-error').innerHTML = ''; + fetch('<%= "#{Rails.configuration.Services.Controller.ExternalURL}" %>arvados/v1/users/authenticate', { + method: 'POST', - The "Log in" button below will show you a Google sign-in page. - After you assure Google that you want to log in here with your - Google account, you will be redirected back here to - <%= Rails.configuration.site_name %>. + headers: {'Content-Type': 'application/json'}, + body: JSON.stringify({ + username: document.getElementById('login-username').value, + password: document.getElementById('login-password').value, + }), + }).then(function(resp) { + if (!resp.ok) { + resp.json().then(function(respj) { + document.getElementById('login-authenticate-error').innerHTML = "

"+respj.errors[0]+"

"; + }); + return; + } -

+ var redir = document.getElementById('login-return-to').value + if (redir.indexOf('?') > 0) { + redir += '&' + } else { + redir += '?' + } + resp.json().then(function(respj) { + document.location = redir + "api_token=v2/" + respj.uuid + "/" + respj.api_token; + }); + }); + } + function clear_authenticate_error() { + document.getElementById('login-authenticate-error').innerHTML = ""; + } +<% end %> - If you have never used <%= Rails.configuration.site_name %> - before, logging in for the first time will automatically - create a new account. - -

+

+
+
- <%= Rails.configuration.site_name %> uses your name and - email address only for identification, and does not retrieve - any other personal information from Google. + <%= raw(Rails.configuration.Workbench.WelcomePageHTML) %> -

- <%# Todo: add list of external authentications providers to - discovery document, then generate the option list here. Right - now, don't provide 'auth_provider' to get the default one. %> + <% case %> + <% when Rails.configuration.Login.PAM.Enable, + Rails.configuration.Login.LDAP.Enable, + Rails.configuration.Login.Test.Enable %> +
+

username

+

password

+ " id="login-return-to"> +

+ +
+ <% else %>
<%= link_to arvados_api_client.arvados_login_url(return_to: request.url), class: "btn btn-primary" do %> - Log in to <%= Rails.configuration.site_name %> + Log in to <%= Rails.configuration.Workbench.SiteName %> <% end %>
+ <% end %> +