Signed-off-by: Tobias Urdin <tobias.urdin@binero.com>
public:
virtual ~TokenExtractor() = default;
virtual std::string get_token(const req_state* s) const = 0;
+ virtual std::string get_service_token(const req_state* s) const = 0;
};
return s->info.args.get("WebIdentityToken");
}
+ /* The method implements TokenExtractor. This method is not used by STS. */
+ std::string get_service_token(const req_state* const s) const override {
+ static std::string empty_val;
+ return empty_val;
+ }
+
aplptr_t create_apl_web_identity( CephContext* cct,
const req_state* s,
const std::string& role_session,
return s->info.env->get("HTTP_X_AUTH_TOKEN", "");
}
+ /* The method implements TokenExtractor for X-Service-Token present in req_state. */
+ std::string get_service_token(const req_state* const s) const override {
+ return s->info.env->get("HTTP_X_SERVICE_TOKEN", "");
+ }
+
aplptr_t create_apl_remote(CephContext* const cct,
const req_state* const s,
acl_strategy_t&& extra_acl_strategy,