]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: make keystone work without admin token(service ac requirement) 60515/head
authorDeepika Upadhyay <deepika.upadhyay@clyso.com>
Mon, 28 Oct 2024 09:19:52 +0000 (14:49 +0530)
committerDeepika Upadhyay <deepika.upadhyay@clyso.com>
Mon, 28 Oct 2024 09:19:52 +0000 (14:49 +0530)
Ceph RGW admin credentials must not be a requirement.
Both ec2 auth and keystone token validation work without an admin token.

And the user token verification will use its own token. The only
requirement for the service admin user token is the allow_expired, but
in our case we don't use this parameter.

fixes: https://tracker.ceph.com/issues/68327

Co-authored-by: @kayrus
Signed-off-by: Deepika Upadhyay <deepika.upadhyay@clyso.com>
src/rgw/rgw_auth_keystone.cc

index 7f3bd66a1b95cc0d25e78259403860c1792b8efb..e74fe97bf778096ccb9b6e4e20518b12fe808d58 100644 (file)
@@ -78,7 +78,12 @@ admin_token_retry:
     throw -EINVAL;
   }
 
-  validate.append_header("X-Auth-Token", admin_token);
+  if (allow_expired) {
+    validate.append_header("X-Auth-Token", admin_token);
+  } else {
+    validate.append_header("X-Auth-Token", token);
+  }
+
   validate.set_send_length(0);
 
   validate.set_url(url);