场景:
我想创建一个使用用户名和密码进行身份验证的android应用。我决定为此使用firebase自定义身份验证。
从我的android应用程序中,我正在调用Firebase云函数,以使用提供的用户凭据对用户进行身份验证。
Firebase通过允许您使用安全的JSON Web令牌(JWT)对用户或设备进行身份验证,使您可以完全控制身份验证。您可以在服务器上生成这些令牌,然后将其传递回客户端设备,然后使用它们通过signInWithCustomToken()方法进行身份验证。
来源:https://firebase.google.com/docs/auth/admin/create-custom-tokens
我想利用Firebase Firestore存储用户名和密码,并使用它在Firebase云功能中创建用于Firebase自定义身份验证的自定义JWT。
问题:
我应该将用户凭据存储在firebase firestore中,如果是,那么安全的方法是什么?如果没有,我应该怎么做?
如果传递给该功能的凭据与firestore中的凭据匹配,如何在firebase云功能中创建JWT。
注意:
我没有凭证系统,也没有服务器。
答案 0 :(得分:0)
如果您以前从未创建过身份验证系统,我强烈建议您为您的应用找到这种身份验证系统的现有实现。
那是说:如果您要构建自己的系统,则需要看一下此示例usename/auth provider in the functions-samples
repo。它显示了如何接收数据,如何调用后端系统以及如何创建自定义令牌。
有关如何存储用户名/密码的某些信息,请参见Best way to store password in database。将这些信息存储在Firestore中是一种常见的方法,并且与将其存储在任何其他受适当保护的基于云的数据库中一样好。