Add basic email sign in to your app

You can easily allow users to log in to your app via email using the db.signIn function. This is how you could add a simple log in feature in your app. Make sure you have enabled the auth module. Here's a code snippet to implement basic email sign in:

      
import { API } from 'space-api';

// Initialize api with the project name and url of the space cloud
const api = new API('todo-app', 'http://localhost:8080');

// Initialize database(s) you intend to use
const db = api.Mongo();

// SignIn
db.signIn('demo@example.com', '1234').then(res => {
  if (res.status === 200) {
    // Set the token id to enable operations of other modules
    api.setToken(res.data.token)

    // res.data contains request payload
    console.log('Response:', res.data);
    return;
  }
  // Request failed
}).catch(ex => {
  // Exception occured while processing request
});
      
    
      
// Java client coming soon!      
      
    
      
from space_api import API

// Initialize api with the project name and url of the space cloud
api = API("books-app", "localhost:8081")

// Initialize database(s) you intend to use
db = api.my_sql()

// Sign In
response = db.sign_in("user_email", "user_password")
if response.status == 200:
    print(response.result)
else:
    print(response.error)

api.close()
      
    

As you would have noticed, the above function is asynchronous in nature. The signIn method takes 2 parameters:

  • email - Email of the user.
  • pass - Password of the user.

Response

On getting the log in request, Space Cloud validates whether such an user exists and sends a response accordingly. A response object sent by the server contains the status and data fields explained below.

status: Number describing the http status code of the response. Following values are possible:

  • 200 - Successful sign in
  • 404 - No user with the given email
  • 401 - The given credentials are not correct
  • 500 - Internal server error

data: The data object consists of the following fields:

  • token - The JWT token generated by the authentication module. The token contains the following claims - id (the unique id for the user), role and email
  • user - Row / document corresponding to the signed in user

Next steps

The next step would be checking out the client reference to register a new user.

Have a technical question?

Edit docs!