/* Anonymous */
-class RGWAnonymousAuthEngine : public RGWAuthEngine {
+class RGWAnonymousAuthEngine : public RGWTokenBasedAuthEngine {
const RGWLocalAuthApplier::Factory * const apl_factory;
public:
RGWAnonymousAuthEngine(CephContext * const cct,
+ const Extractor& extr,
const RGWLocalAuthApplier::Factory * const apl_factory)
- : RGWAuthEngine(cct),
+ : RGWTokenBasedAuthEngine(cct, extr),
apl_factory(apl_factory) {
}
bool is_applicable() const noexcept override {
- return true;
+ return token.empty();
}
const char* get_name() const noexcept override {
RGWSignedTokenAuthEngine rgwtk(s->cct, store, token_extr, &aplfact);
RGWKeystoneAuthEngine keystone(s->cct, token_extr, &aplfact);
RGWExternalTokenAuthEngine ext(s->cct, store, token_extr, &aplfact);
- RGWAnonymousAuthEngine anoneng(s->cct, &aplfact);
+ RGWAnonymousAuthEngine anoneng(s->cct, token_extr, &aplfact);
/* Pipeline. */
constexpr size_t ENGINES_NUM = 5;