【问题标题】:Firebase authentication to Azure AD from Android app从 Android 应用到 Azure AD 的 Firebase 身份验证
【发布时间】:2020-09-15 17:47:58
【问题描述】:

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

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

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

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

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

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

我对这个 Microsoft 身份验证的东西有点摸不着头脑,因此我们将不胜感激任何朝着正确方向的推动。

【问题讨论】:

    标签: android firebase azure oauth firebase-authentication


    【解决方案1】:

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

    【讨论】:

    • 项目被封存了,所以我怀疑我会测试这个,但它听起来很有希望。谢谢!
    • 我也在测试相同的内容并遇到了您的问题。最初我使用本机应用程序注册,但它不工作。然后我有一个预感,为什么原生客户端会有一个 https 作为方案,而不是原生客户端通常使用包名作为方案,这是他们独有的,所以尝试将客户端注册为 Web 应用程序,瞧它的工作原理:) 我认为是帖子登录成功它返回到firebase重定向uri然后它又返回到应用程序。
    猜你喜欢
    • 2019-06-03
    • 2019-10-15
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2016-09-08
    • 1970-01-01
    • 2021-11-26
    相关资源
    最近更新 更多