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

2023-12-28

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

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

我正在关注https://firebase.google.com/docs/auth/android/microsoft-oauth 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 身份验证的内容有点不了解,因此任何正确方向的推动都将不胜感激。


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Android 应用程序向 Azure AD 进行 Firebase 身份验证 的相关文章

  • 改造中的多个队列导致内存不足错误?

    我正在使用retrofit2 做我的项目 当我的呼叫失败时 我再次重复相同的呼叫 重复此 呼叫使我的应用程序强制关闭 当我查看日志时 我得到了错误日志 如下所示 我觉得这是由于同一呼叫的多次排队造成的 所以我在排队之前就这样做了 我打电话给
  • 为什么反射会减慢Android手机的速度

    我多次读到反射会降低手机性能 这有多真实 例如 在我的例子中 我从 Web 服务获取一些参数 这些参数与我在 Android 应用程序中的类的参数同名 所以我只是使用java字段和反射设置这些参数的值 它似乎并没有降低性能 有人可以向我解释
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 退出设备上的 system.img

    我正在为我们部署给客户的设备 LG p509 Optimus 1 开发自动应用程序更新解决方案 我们可以控制这些设备 并且目前在它们上安装自定义内核 但不是完整的自定义 ROM 由于我们试图在设备上自动更新我们的应用程序 因此我们需要由我们
  • 如果使用grifika的ContinualCaptureActivity中的预览方式,相机预览的视野会更小

    我们知道 当相机预览比例设置为时 在相同距离下我们会得到更大的预览视野4 3代替16 9 具体如下 Android Camera API 奇怪的缩放效果 https stackoverflow com questions 20664628
  • ADB TCPIP 连接问题

    我有两台 Galaxy S3 其中一个已扎根 另一个则未扎根 因此 当我尝试通过本地网络连接它们时 计算机可以看到已root的计算机 但是正常的就卡在tcpip这一步了 所以 我写 adb tcpip 5555 It says restar
  • 如何从 MVC 视图将文件上传到 Azure Blob 存储

    我正在编写一个 MVC5 互联网应用程序 并且需要一些帮助来将文件从我自己的文件系统上传到 Azure Blob 这是我的Azure上传代码功能 public void UploadFileToBlobStorage string cont
  • Android上如何获取ImageView的Drawable的矩形?

    我想要获取将包裹 ImageView 的 Drawable 的矩形对象 而不是包裹 ImageView 的矩形 我将使用该矩形在 Drawable 周围绘制一些奇特的矩形 我怎样才能得到那个矩形 Rect rect new Rect Ima
  • 将 java 中的 byte[] 转换为 C++ 中的 unsigned char* 的正确方法,反之亦然?

    我是 C 和 JNI 的新手 我尝试找到一种正确的方法 通过使用 JNI 将 java 中的 byte 转换为 C 中的 unsigned char 反之亦然 我正在安卓上工作 在谷歌和SO中寻找解决方案后 我还没有找到将java中的byt
  • 在android中,将相机预览流到视图上

    我想将 Android 相机的相机预览流式传输到视图上 目的是随后使用 onDraw 将各种内容添加到视图中 我不需要随时实际捕捉图像 它不必是最高质量或每秒最大数量的帧 有谁知道如何做到这一点 将其添加到您的 xml 中
  • Android 上的 MIDI:Java 和/或 AIR 库

    一段时间以来 我一直在考虑在 iPad 上 重新 构建一个应用程序 其中我将使用 Objective C 和DSMI http dsmi tobw net 将 MIDI 信号发送到主机 这还不错 我的意思是 除了实际编写应用程序之外 现在我
  • 使用 Firebase 控制台在 Firebase 中设置数组

    I am using Firebase console for preparing data for a demo app One of the data item is attendees Attendees is an array I
  • 无法使用 findViewById() 找到视图

    我找不到TextView通过致电findViewById 即使 ID 确实存在 OtherActivity public class OtherActivity extends Activity Override protected voi
  • jetpack compose 是否使用drawable-night 文件夹?

    我们有一个基于视图的 Android 应用程序 其中有一些可绘制对象res drawable文件夹 以及夜间模式的对应文件夹res drawable night folder 使用旧视图时 引用可绘制对象R drawable foo从 XM
  • 当目标小于 Android O 时,如何在 Android O 上创建快捷方式?

    背景 Android O 对快捷方式的工作方式进行了各种更改 https developer android com preview behavior changes html as https developer android com
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • Android 标记如何实现拖放?

    你好 我正在 Android 中开发 MapView 应用程序 我有三个标记 我希望稍后能够使用 Google Map API getlocation function 为了尝试一下 我想使用拖放功能移动标记 然后检查位置 任何人都可以通过
  • 丢失应用程序的密钥库文件(但已启用 Google Play 应用程序签名)

    我已经失去了原来的keystore用于签署我的应用程序的文件 我的应用启用了 Google Play 应用签名 如果我联系 Google 支持人员 是否可以重置密钥 以便我可以继续上传到此包 我希望我可以做到这一点 因为应用程序签名已启用
  • HTTP 基本身份验证 + 访问令牌?

    我正在开发一个 REST API 计划将其与 Web 和 IOS 应用程序一起使用 我打算让这个 API 在一段时间内保持私有 私有意味着我只希望我的 Web 应用程序和 ios 应用程序访问该 API 我已经阅读了许多不同的身份验证方法
  • 如何从 Cloud Functions for Firebase 文件夹读取证书文件

    我正在尝试读取 certs 文件夹下的文件 如下所示 functions certs idp public cert perm 这是我用来读取文件的代码 fs readFileSync path join dirname certs idp

随机推荐

  • 使用 DHTML 事件 onmouseover 更改 JSF 命令按钮的图像

    我想在鼠标移到按钮上时更改按钮的图像 我骑乘了 DHTML 事件 onmouseover 可以为我做到这一点 但是如何呢 我还需要为其创建一个 javascript 吗 我应该做什么才能让它发挥作用 这是我当前的代码
  • 使用reportlab python库生成孟加拉语PDF

    我尝试在 BANGALA labguage 中生成 PDF 这里我添加了 Bangla Uni Code 字体 但我的 PDF 生成不正确 在这里我添加代码片段和 Imag 的输出 为什么孟加拉语中的字体无法正常工作或 PDF 无法正确生成
  • 如何消除 MigLayout 中两个单元格之间的垂直间隙?

    非常简单的问题 如何消除包含两个单元格的两个单元格之间的垂直间隙JCheckBox 我已经用红色边框标记了图片中的间隙 这是代码 import javax swing JButton import javax swing JCheckBox
  • WPF 应用程序是否需要使用 XAML?

    我想学习 C 似乎每个人都从使用 WinForms 转向使用 WPF 由于使用了用于构建表单的 XAML 文件 WPF 应用程序对我来说似乎要复杂得多 在我真正参与之前 我只是想问一下 XAML 文件是构建 WPF 应用程序的唯一方法吗 有
  • 如何在recyclerview项目之间设置相等的边距

    看这张图片 https i stack imgur com UtZFS jpg 我从 xml 布局中实现了当前边距 但四个边的边距并不相同 如何获得等额保证金 我当前的 xml 布局
  • 将shoutcast 流转换为Python 中的可播放样本?

    我有一个 Shotcat 广播电台 现在想为其构建一个播放器 我知道如何从服务器 获取 流 非常感谢 bobince 但我不确定如何将该流转换为可播放的样本 它是如何完成的 Shoutcast 流通常 但不总是 MP3 要获得可播放的样本
  • 数据表响应优先级

    我正在使用这个令人惊叹的插件 但在列上使用响应式优先级时发现了一个问题 Code var fillTable function data var list name Name 123456789 email email protected
  • Apache Commons Lang3 Hashcode、Equals 和 ToString(包括枚举)

    我们在模型中为服务响应和请求对象定义了很少的数据类型 最近我们发现需要实施ToString HashCode 和等于在所有此类类型上利用这些过度比较和断言 从几个来源确认 例如在Java中重写equals和hashCode时应该考虑哪些问题
  • Android 中的可扩展列表视图

    我有一个可扩展的 ListView 但我面临两个问题 Q1 如果标题不包含任何子项 我想将其隐藏 从列表中删除 为此 我有内部 getGroupView 方法 if getChildrenCount groupPosition 0 conv
  • 如何在没有任何注释的 Spring 项目中使用 Jackson Json 解析?

    情况 我有一个名为 Errors 的枚举类 它位于一个公共项目中 错误枚举包含一个 int 代码和一个 String 文本 Errors 枚举用于两个不同的项目 一个项目是基于 Spring 的项目 另一个项目是非 Spring J2EE
  • 是否可以在 C++03 中定义等效的“移动和交换习惯用法”

    我有义务C 03我有一个不可复制的对象 例如持有资源 我需要使用移动和交换语义能够做类似的事情并避免复制 MyClass returnMyClass void MyClass temp fill temp members with actu
  • 虚拟地球或谷歌地图

    简单的问题 答案可能不是 我将为客户开发一个 Web 应用程序 ASP NET MVC 他们询问我是否使用 Google 地图或 Virtual Earth 来提供地图解决方案的意见 你会选择哪一个 为什么 或者还有其他可以推荐的吗 还有什
  • 如何从数据帧创建 key:column_name 和 value:python 列中的唯一值的字典

    我正在尝试创建一个键 值对的字典 其中键是数据帧的列名 值将是包含该列中所有唯一值的列表 最终我希望能够从基于条件的字典 到目前为止 这是我能够做的 for col in col list 1 list list append footwe
  • Pytrends 趋势结果与手动下载的数据不相似

    I use pytrends自动下载数据到csv来自谷歌趋势 我使用的代码如下 在本例中 我正在下载 2008 年至今的每月 Google 趋势数据 from pytrends request import TrendReq from ur
  • html 5 canvas 硬件在 android chrome beta 上加速吗?

    我在 Android 浏览器与 chrome beta 上进行了一些 html 5 canvas 测试 结果有利于 Android 默认浏览器 尽管 chrome gpu 显示 canvas 具有硬件加速功能 测试示例 带有 8 个小图像的
  • istream读取失败后

    我有一小段代码来读取用户数据 如下所示 include
  • 在 Java 中,如何录制扬声器的声音输出? [复制]

    这个问题在这里已经有答案了 我有一个 Java 应用程序 它从多个来源接收声音 用户的能力之一是将应用程序中发生的情况记录到 AVI 文件中 我想将声音包含在该视频捕获中 如何录制用户会听到的声音 例如所有声音输入混合在一起的结果 我可以弄
  • 如何确定系统上的 Boost 版本?

    有没有一种快速方法可以确定系统上 Boost C 库的版本 增强信息宏 http www boost org doc libs 1 44 0 libs config doc html boost config boost macro ref
  • Windows ISO 8601 时间戳

    我需要将 Windows PowerShell 中的日期转换为 ISO 8601 格式 在 Linux Unix 中没有问题 TZ 0 date d
  • 从 Android 应用程序向 Azure AD 进行 Firebase 身份验证

    我正在尝试将 Microsoft 登录方法添加到我的 Firebase 项目中 希望允许用户使用其 Azure AD 凭据登录我的 Android 应用程序 我已经完成了使用 电子邮件 密码 提供商的所有设置 该提供商运行良好 我不打算访问