从 Android 应用到 Azure AD 的 Firebase 身份验证

Firebase authentication to Azure AD from Android app

我正在尝试将 "Microsoft" 登录方法添加到我的 Firebase 项目中,希望允许用户使用他们的 Azure AD 凭据登录到我的 Android 应用程序。我已经设置好一切以使用 "Email/Password" 提供程序,它运行良好。

我不打算访问任何 Azure API,我只需要对给定用户进行身份验证,以便当组织终止所述用户帐户时,他将无法再登录到我的应用程序。

我正在关注 https://firebase.google.com/docs/auth/android/microsoft-oauth 本指南。我已经在我的 Azure AD 上注册了一个应用程序,将其设置为允许来自任何组织的帐户以及个人帐户,并将客户端 ID 和密码添加到我的 Firebase 项目中。我还添加了重定向 url 从 Firebase 项目到 Azure 上的应用程序注册。

我使用示例中的 startActivityForSignInWithProvider 开始登录过程。 chrome 选项卡加载并引导我完成整个身份验证过程。 问题是这总是returns失败,除了Error: (invalid_client) AADSTS700025: Client is public so neither 'client_assertion' nor 'client_secret' should be presented'

这令人困惑,因为为了在 Firebase 上启用此登录提供程序,您需要输入客户端 ID 和客户端密码。

我尝试将应用程序注册设置 "Treat application as public client" 设置为是和否。我还尝试使用空白范围集合并将 'openId' 添加到范围作为黑暗的。

我对这个 Microsoft 身份验证有点不知所措,所以任何正确方向的推动都将不胜感激。

在 Azure 中将应用程序注册为 Web 应用程序而不是本机应用程序。因为Firebase提供的URL是针对Web App的。希望这可以帮助。