从Android应用程序对Azure AD进行Firebase身份验证

时间:2020-05-28 12:03:51

标签: android firebase azure oauth firebase-authentication

我试图将“ Microsoft”登录方法添加到我的Firebase项目中,希望允许用户使用其Azure AD凭据登录到我的Android应用。我已经为使用“电子邮件/密码”提供程序进行了所有设置,该程序运行良好。

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

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

像示例中一样,我使用startActivityForSignInWithProvider开始登录过程。 chrome标签会加载并引导我完成整个身份验证过程。 问题是,这总是返回失败,但异常Error: (invalid_client) AADSTS700025: Client is public so neither 'client_assertion' nor 'client_secret' should be presented'

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

我尝试将应用程序注册设置“将应用程序作为公共客户端处理”设置为“是”和“否”。我还尝试了使用空白的作用域集合,并将“ openId”添加到作用域中作为暗中的刺。

我对这种Microsoft身份验证的东西有些不了解,因此,朝着正确方向的任何轻推都将不胜感激。

1 个答案:

答案 0 :(得分:1)

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