How to work with authentication?

In order to authenticate database users in RavenDB you can use API Key. Before you will work with a database in authenticated manner, first you need to go to the RavenDB server and configure an access there. Detailed information about necessary server side work to setup the authentication you will find in a server configuration article Authentication and authorization.

Server recognizes the requested authentication type based on headers of a request sent by the client, so the DocumentStore needs to be properly configured in order to be able to perform any actions against a database with enabled authentication.

Windows Authentication

Windows authentication is not supported by RavenDB java client.

OAuth and API Key

The OAuth configuration is also very simple. You just need to set ApiKey instead of Credentials. The ApiKey is a string in format apiKeyName/apiKeySecret according to the ApiKeyDefinition stored in the system database. For example for the following key definition:

ApiKeyDefinition
     {
         Name = "NorthwindAdminAccess",
         Secret = "MySecret",
         Enabled = true,
         Databases = new List<ResourceAccess>
         {
             new ResourceAccess
             {
                 TenantId = "Northwind",
                 Admin = true
             }
         }
     }

you should create the DocumentStore as below to have the admin access to the Northwind database:

DocumentStore documentStore = new DocumentStore();
documentStore.setApiKey("NorthwindAdminAccess/MySecret");

Connection string

The Api Key can be also specified in the connection string. Look here for more details.