On windows, I am trying to switch to the recommended Mongo Realm Authenticator as suggested in the documentation, however, when setting up my restheart.yml file exactly as shown in the documentation I receive this error on startup:
"ERROR org.restheart.plugins.PluginsFactory - Error injecting dependency to AuthMechanism basicAuthMechanism: Authenticator mongoRealmAuthenticator not found"
Here is the relevant section of my restheart.yml for reference.
auth-mechanisms:
tokenBasicAuthMechanism:
enabled: true
basicAuthMechanism:
enabled: true
authenticator: mongoRealmAuthenticator
digestAuthMechanism:
enabled: false
realm: RESTHeart Realm
domain: localhost
authenticator: simpleFileAuthenticator
identityAuthMechanism:
enabled: false
username: admin
roles:
- admin
- user
authenticators:
mongoRealmAuthenticator:
users-db: restheart
users-collection: users
prop-id: _id
prop-password: password
json-path-roles: $.roles
bcrypt-hashed-password: true
bcrypt-complexity: 12
create-user: true
create-user-document: '{"_id": "admin", "password": "$2a$12$lZiMMNJ6pkyg4uq/I1cF5uxzUbU25aXHtg7W7sD2ED7DG1wzUoo6u", "roles": ["admin"]}'
# create-user-document.password must be hashed when bcrypt-hashed-password=true
# default password is 'secret'
# see https://bcrypt-generator.com but replace initial '$2y' with '$2a'
cache-enabled: false
cache-size: 1000
cache-ttl: 60000
cache-expire-policy: AFTER_WRITE
simpleFileAuthenticator:
enabled: true
conf-file: {{{users-conf-file}}}
Restheart version is 5.0, MongoDb version 4.2, Windows 10
The simpleFileAuthenticator works correctly, it is only MongoRealmAuthenticator that causes problems when I try to use it as an authenticator for any auth-mechanism.
mongoRealmAuthenticator is available from RESTHeart 5.1 (see release notes here).
Update to latest release to fix it.