Normally you could just request access tokens or authorization codes through an authentication API. But with Kaa as your IoT Platform, you can use its internal Kaa Credential Service to uniquely identify endpoints with encrypted credentials. The Kaa node, which handles any new session or request, uses the private key of the endpoint to generate a session key and lets you validate the digital signature of this credential to allow or deny further connections of that endpoint to your Kaa cluster. Once authorized, they get saved onto the Kaa server as an authenticated endpoint allowing its connection. You can refer to the official documentation of Kaa IoT on the same here: And, refer here for using your server-side applications to manage the endpoints: