Firebase gives you complete control over authentication by allowing you to authenticate users or devices using secure JSON Web Tokens (JWTs) . You generate these tokens on your server, pass them back to a client device, and then use them to authenticate via the signInWithCustomToken() method.