我有一个Android应用,允许用户通过他们的API与第三方服务进行交互。此API使用基本身份验证,因此每个API调用都需要用户的用户名和密码。理想情况下,我不想在本地存储用户的凭据,因为这是非常不安全的。我不太了解身份验证,但我认为这是我理想的解决方案:
这是一个很好的解决方案吗?如果是这样,是否有可用于推动此过程的后端服务?我已经查看了Firebase身份验证,但我不知道它是否满足了我的需求,因为我试图为第三方服务存储凭据,而不是专门针对我的应用。我听说过Auth0,这可能是我正在寻找的,但对于像我这样的小应用来说似乎有些过分。
答案 0 :(得分:0)
您可以轻松使用Firebase Auth并获得所需的所有功能,同时确保用户的安全。它提供了您需要的功能:
createUserWithEmailAndPassword
或signInWithEmailAndPassword
的一个API。user.sendEmailVerification()
user.getIdToken()
),您可以使用该令牌识别所有经过身份验证的请求中的用户。他们还提供了一个Admin SDK来解析和验证该令牌(auth.verifyIdToken(idToken)
)。还提供刷新令牌以在到期时连续刷新ID令牌。这意味着会话无限期,用户无需再次在设备上登录。email_verified
,您可以使用这些数据来确保用户已经过验证。 ID令牌是JWT,如果没有Firebase Auth后端私钥,则不能泄露。