Logging in
Logging into deepstream
To keep this guide as lightweight as possible, we will be logging in using anonymous authentication for the front-end users, and file auth for the backend.
By just settings a DEEPSTREAMPASSWORD environment variable on the realtimesearch provider it will automatically try and login using the { username: 'realtime_search', password: process.env.DEEPSTREAM_PASSWORD }
. The least hassle way of getting deepstream to acknowledge the user and provide it some meta data for permissions in the future is to add file auth as one of our authentication types, followed by open auth for all
anonymous users
# Authentication
auth:
- type: file
options:
# Path to the user file. Can be json, js or yml
users: fileLoad(users.yml)
- type: none
Configuring the details on the server is also pretty easy, we just need a users.yml
file with username, password and isRealtimeSearch meta data. The environment variable automatically gets substituted one file load.
realtime_search:
password: "${DEEPSTREAM_PASSWORD}"
serverData:
isRealtimeSearch: true
So in order to login to deepstream all we need to add is the following after the deepstream constructor:
const client = new DeepstreamClient('localhost:6020')
await client.login()
That was quick wasn’t it! You can checkout the other guides and tutorials on authentication if you want more challenging.