[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