8

我正在开发一个带有 react-native (react-native-firebase/auth) 的手机,并使用 Firebase Auth 来管理用户登录。一开始,我只使用电子邮件/密码来验证用户并且工作得很好。

现在我想让用户使用 Azure AD。由于 react-native-firebase/auth 目前不支持微软账号,所以我使用 react-native-app-auth。之后,使用 Microsoft 凭据对 Firebase 用户进行身份验证并将它们链接在一起。

const result = await authorize(config);
const credential = auth.OAuthProvider.credential(
  result.idToken,
  result.accessToken,
);
const userCredential = await auth().signInWithCredential(credential);

调用 signInWithCredential 时,它会抛出错误:[auth/internal-error]。

目前,我有像 Firebase 用户帐户这样的后端用户配置文件。我不想让后端复杂化以拥有多个身份验证方法。理想情况下,它可以在 Firebase 上完成会很棒。

谢谢。

4

1 回答 1

2

似乎您必须使用自定义令牌。

与 Firebase 支持的其他 OAuth 提供程序(例如 Google、Facebook 和 Twitter)不同,可以使用基于 OAuth 访问令牌的凭据直接实现登录,Firebase Auth 不支持 Microsoft 等提供程序的相同功能,因为无法使用Firebase 身份验证服务器,用于验证 Microsoft OAuth 访问令牌的受众。

如果需要在不受支持的环境中使用这些提供程序,则需要使用第三方 OAuth 库和Firebase 自定义身份验证

来源:Firebase 文档

于 2021-01-02T10:53:11.577 回答