使用 react-native-firebase/auth OAuth 提供程序来验证 Azure AD 凭据

Ray*_*ond 8 oauth azure-active-directory react-native firebase-authentication

我正在开发带有 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);
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢。

Gab*_*leu 4

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

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

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

来源:Firebase 文档