Follow us

Security & user management

Unify web, mobile & IoT authentication to enhance security

Kuzzle's authentication relies on PassportJS to provide user authentication through any existing strategy (JWT, OAuth2, Facebook & 300+ more). Additionally, Kuzzle unifies web, mobile & IoT protocols and delivers a fine-grained policy engine to access API(s).
Read the documentation to learn more

Case Study

Digital banking: a second screen to photograph, upload documents and sign

Kuzzle's realtime capabilities delivers hand-off multi-screen features, enabling end-users to perform tasks that would otherwise be complex on a regular desktop.
In the video below, the user completes an online subscription tunnel by snapping and instantly uploading a photo, then providing an on-screen signature.
Read the complete case study

Developers' corner - SDK(s) examples

Reduce development time and learning curve with Kuzzle SDK(s). They provide high level functions to make developers' life simpler.
Read the documentation to learn more

  • Javascript
  • Android
  • GO
  • // Login in with 'local' strategy
    var expiresIn = '1h';
    kuzzle.login('local', { username: 'login', password: 'password' }, expiresIn, function (error, result) {
      if (error) {
        console.error('wrong username / password');
    // result:
    // {_id: 'login', jwt: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiJhZ…jgzfQ.E6TMhBDlLHYG-vZ03zIBRlApdt419GBLdflsGUCmUfc'}
      .collection('restricted', 'access')
      .createDocument({foo: 'bar'});
  • JSONObject credentials = new JSONObject()
      .put("username", "John Doe")
      .put("password", "my secret password");
    kuzzle.login("local", credentials, 30000, new ResponseListener<JSONObject>() {
      public void onSuccess(JSONObject result) {
        // ...
      public void onError() {
        // Handle error
    import (
    cn := websocket.NewWebSocket(":7512", o)
    k, _ := kuzzle.NewKuzzle(cn, o)
    type credentials struct {
      Username string `json:"username"`
      Password string `json:"password"`
    myCredentials := credentials{"foo", "bar"}
    jwt, err := k.Login("local", myCredentials, 30000)
    if err != nil {

They Trust us