[ARVADOS] updated: d458a1106d390a87b7f7347cbd4fe801e8014f51
git at public.curoverse.com
git at public.curoverse.com
Fri Jun 13 09:53:22 EDT 2014
Summary of changes:
.../app/controllers/application_controller.rb | 22 +-
.../app/controllers/sessions_controller.rb | 1 +
apps/workbench/config/application.default.yml | 4 +
apps/workbench/config/application.yml.example | 4 +
sdk/cli/bin/arv | 5 +-
sdk/cli/bin/crunch-job | 19 +-
sdk/python/arvados/commands/_util.py | 32 +++
sdk/python/arvados/commands/keepdocker.py | 219 ++++++++++++++++++
sdk/python/arvados/commands/put.py | 255 +++++++++++----------
sdk/python/arvados/keep.py | 13 +-
sdk/python/arvados/util.py | 24 ++
sdk/python/bin/arv-keepdocker | 4 +
sdk/python/setup.py | 3 +-
sdk/python/tests/test_arv_put.py | 5 +-
.../v1/api_client_authorizations_controller.rb | 6 +
.../arvados/v1/collections_controller.rb | 34 +--
services/api/app/models/blob.rb | 8 +
services/api/config/application.default.yml | 11 +
.../arvados/v1/collections_controller_test.rb | 128 ++++++++---
.../api/test/integration/collections_api_test.rb | 8 +-
.../src/arvados.org/crunchstat/crunchstat.go | 66 ++++--
21 files changed, 646 insertions(+), 225 deletions(-)
create mode 100644 sdk/python/arvados/commands/_util.py
create mode 100644 sdk/python/arvados/commands/keepdocker.py
create mode 100755 sdk/python/bin/arv-keepdocker
via d458a1106d390a87b7f7347cbd4fe801e8014f51 (commit)
via f6205e8e9f6e56173ff808fc3e354e82fbd0ed00 (commit)
via b251bf4a306e641aa4ab6e2c42469280c3285059 (commit)
via 95bb3f7e95b4f4383f201e5be235ac796486d1d0 (commit)
via bda86a5d49b1306e0a56c3d1ad71333ab2767e4a (commit)
via 9047de800ce3288848b1638bd2060450e9afd034 (commit)
via 728fbdbae7d8e926f64a09d3f20aad6bdb67435e (commit)
via af6ef4aefe653ac5fd7bbd028af580ddfeb8f4d9 (commit)
via e0b4f004501f54a1c3824ae0974f2b4619800eed (commit)
via c7f445954df35959174761ba7b1f44ecf377c87a (commit)
via 75483667d22a4c40ab238a13cb42d565304e05c5 (commit)
via 4d84c7d2c66ea255db24e2b4159bcafed29ef00d (commit)
via 416189411a572ca2410c8cfb5f571d1f9b4c1dfd (commit)
via c290dd51011b5f8e156ed4af2f6107cf4309aa48 (commit)
via 557b0b0e61a16c098785f66e5f10b0b72973d822 (commit)
via 6089a56c4a50d48f87d6c43ec505863abdaeec6a (commit)
via abbb31362b5fee5763cb9afa56fe1c3f372721aa (commit)
via ade6281bfee602253f2d42c8337f5c63373f0429 (commit)
via 13254dc054d9f2f50cc0c5f878f6ecfb6fcbed7f (commit)
via eef9a3b369b00af6a886776bcf059881f53cc64b (commit)
via 40cedbe09d7e8fe3223ebe3da14d7d6983b22df1 (commit)
via 3377c83ecf5937d5f02c15ef3683181572559137 (commit)
from e52e5bbddc8599d53a7d62e1f6a5b131ac6c3af5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit d458a1106d390a87b7f7347cbd4fe801e8014f51
Merge: f6205e8 b251bf4
Author: radhika <radhika at curoverse.com>
Date: Fri Jun 13 09:52:50 2014 -0400
Merge branch 'master' into 2659-anonymous-group
commit f6205e8e9f6e56173ff808fc3e354e82fbd0ed00
Author: radhika <radhika at curoverse.com>
Date: Fri Jun 13 09:51:07 2014 -0400
2659: Introduce config parameter to support login using anonymous user token. Careful address edge cases such as logout (don't want to use the token when logout is attempted), invalid tokens and such.
diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb
index a0cadb2..d8f3f3e 100644
--- a/apps/workbench/app/controllers/application_controller.rb
+++ b/apps/workbench/app/controllers/application_controller.rb
@@ -290,6 +290,19 @@ class ApplicationController < ActionController::Base
def thread_with_api_token(login_optional = false)
begin
try_redirect_to_login = true
+
+ if !params[:api_token] && !session[:arvados_api_token]
+ if session && (session['arv-referrer'] == 'logout')
+ # do not use anonymous user token and let logout happen
+ else
+ anonymous_user_token = Rails.configuration.anonymous_user_token
+ if anonymous_user_token.andand.size == 50
+ params[:api_token] = anonymous_user_token
+ using_anonymous_user_token = true
+ end
+ end
+ end
+
if params[:api_token]
try_redirect_to_login = false
Thread.current[:arvados_api_token] = params[:api_token]
@@ -317,8 +330,13 @@ class ApplicationController < ActionController::Base
yield
end
else
- @errors = ['Invalid API token']
- self.render_error status: 401
+ if using_anonymous_user_token
+ # bypass the invalid anonlymous user token, instead of showing error message.
+ try_redirect_to_login = true
+ else
+ @errors = ['Invalid API token']
+ self.render_error status: 401
+ end
end
elsif session[:arvados_api_token]
# In this case, the token must have already verified at some
diff --git a/apps/workbench/app/controllers/sessions_controller.rb b/apps/workbench/app/controllers/sessions_controller.rb
index 591373b..8aa8116 100644
--- a/apps/workbench/app/controllers/sessions_controller.rb
+++ b/apps/workbench/app/controllers/sessions_controller.rb
@@ -5,6 +5,7 @@ class SessionsController < ApplicationController
def destroy
session.clear
+ session['arv-referrer'] = 'logout'
redirect_to arvados_api_client.arvados_logout_url(return_to: root_url)
end
diff --git a/apps/workbench/config/application.default.yml b/apps/workbench/config/application.default.yml
index 2fe701a..fd4a9c5 100644
--- a/apps/workbench/config/application.default.yml
+++ b/apps/workbench/config/application.default.yml
@@ -74,3 +74,7 @@ common:
secret_key_base: false
default_openid_prefix: https://www.google.com/accounts/o8/id
send_user_setup_notification_email: true
+
+ # Set anonymous user token to enable anonymous user access.
+ # Get this using get_anonymous_user_token.rb and set here.
+ anonymous_user_token: none
diff --git a/apps/workbench/config/application.yml.example b/apps/workbench/config/application.yml.example
index 395f1a9..5f28fbc 100644
--- a/apps/workbench/config/application.yml.example
+++ b/apps/workbench/config/application.yml.example
@@ -18,3 +18,7 @@ common:
arvados_login_base: https://arvados.local:3000/login
arvados_v1_base: https://arvados.local:3000/arvados/v1
arvados_insecure_https: true
+
+ # Set anonymous user token to enable anonymous user access.
+ # Get this using get_anonymous_user_token.rb and set here.
+ anonymous_user_token: none
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list