问题标签 [aad-b2c]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
70 浏览

azure-ad-b2c - 出现间歇性 ADB2C“错误请求”错误

我有一个注册自定义策略,单击提交按钮后我们收到间歇性的“错误请求”错误。我在某处读到可能是请求太长,但我不确定这是否是同一个错误。刷新页面时,它通常会解析并转到重定向 uri 并成功处理。应用程序洞察日志没有任何内容。我怎样才能知道具体原因是什么?

控制台屏幕截图

0 投票
1 回答
167 浏览

reactjs - 如何使用 React 防止 AD B2C 登录的新窗口

我正在按照 Microsoft 提供的教程尝试使用重定向的 AD B2C 身份验证流程,但这总是会打开一个新的浏览器选项卡来显示 Microsoft 的登录屏幕。这破坏了我们希望在应用程序中提供的用户体验。是否可以将 MSAL 配置为在同一框架/窗口内重定向而无需打开新窗口或选项卡?

Microsoft 的另一个选项是使用资源所有者密码凭据流程,但 Microsoft 不建议这样做,而且它也没有支持 MFA 等用例的灵活性。

感谢任何克服重定向问题的建议!

0 投票
1 回答
20 浏览

aad-b2c - Azure AD B2C:本地 ad fs 作为 SAML 身份提供者的错误

我试图将我们的本地 AD FS 添加为 azure ad b2c 中的 SMAL 身份提供者。我按照这个文档完成了所有步骤。

然后我尝试了立即运行端点(来自 aad b2c 自定义策略),并单击了新的 IDP 按钮(我的 AD FS),我收到错误: AADB2C:无法连接到元数据端点'https://MY.ADFS。 COM/federationmetadata/2007-06/federationmetadata.xml'

错误

一些注意事项:

不知道我错过了什么。AD FS 服务器是否仅适用于公司网络范围?请帮忙

0 投票
0 回答
66 浏览

asp.net-core - B2C 注册和登录政策 - 自助重置密码重定向回更改密码

在我的 Azure B2C 注册和登录策略中,我勾选了“自助服务密码重置”。

我没有任何重置密码策略,因为我知道这不是必需的。

密码重置有效,但是在用户重置密码后,他们在我的 .NET Core 5.0 应用程序中被重定向回此处(我知道这一点,因为我设置了一个断点来检查):

...然后用户再次被发送回 Azure B2C 密码重置页面,在那里他们输入他们的电子邮件地址并请求验证码(再次)。

关于为什么会发生这种情况以及为什么用户在重置密码后不返回我的主页的任何想法?

一旦他们第二次被重定向回来,然后可以单击取消,然后他们回到我的应用程序中,在第一次密码重置后已经登录。

这是浏览器正在执行的操作:

1) 用户输入密码

2)浏览器然后执行此操作

3) 用户发回这里

[4)再次进行密码重置,第二次登陆首页4

0 投票
2 回答
75 浏览

azure-active-directory - AAD B2C多种注册流程

我正在创建应用程序,其中我使用带有自定义策略的 AD B2C 来实现用户管理功能。但是,在我的应用程序中,我需要支持多种类型的帐户,而每种帐户类型都应该有不同的注册过程(要收集不同的用户数据)。我的问题是,实现这一点的最佳方法是什么?

0 投票
1 回答
63 浏览

azure-ad-b2c - B2C 多语言问题,成功/失败消息以英文显示代替所选的 ui_locales 语言

B2C 多语言问题,我将语言设置为“gu”,即古吉拉特语,内容转换为“gu”,但成功/失败消息以英语显示。我希望它在“gu”中。

在此处输入图像描述

0 投票
1 回答
129 浏览

azure-ad-b2c - 如何刷新 Azure AD B2C 中的令牌,而不是访问和 ID 之一,“生命周期”之一

我正在将 MSAL 用于带有 Android 的 B2C,并且我一直在关注这个示例。首次登录时,当我需要调用 API 并且我的令牌已过期时,我使用 #1获取令牌/运行用户流和 #3获取令牌静默。

静默令牌似乎映射到Azure 门户中的访问和 ID 令牌生命周期(分钟)在此处输入图像描述

susi 的用户流似乎映射到门户中的生命周期长度(天)在此处输入图像描述

我认为 90 天已经到了,那么我该怎么做才能刷新该令牌以及如何判断我是否接近 90 天?

也许我没有完全理解这一点。

更新

好的,我看到下面的回复很有帮助,但我不知道根据所提供的信息,我的用例是否或如何实现。

这是用例:我有一个可以在断开模式下使用的应用程序,并且经常在共享设备上使用。该应用程序确实需要连接才能下载并在设备上进行用户注册。当设备连接时,它也会将数据发送到云端,但会在本地存储。将数据发送到云时,需要静默刷新令牌。

所有这些都一直有效,直到 90 天到期,我需要重新进行身份验证。这将是一个很好的策略,但考虑到应用程序的断开连接性质,我想在倒计时越来越近时开始使用小吃栏询问用户。根据响应,现在可以确定 90 的到期时间,我认为这是因为 profile.getExpiresOn() 似乎保留了访问令牌的到期日期(60 分钟)并恢复到配置文件的日期当 90 天用完时创建。至少我认为这是正在发生的事情。我希望我可以访问这两个日期,但我想我没有,这就是我认为在下面得到确认的内容。

其他人有这样的用例吗?看起来它可能并不罕见,并且可以看到 90 天令牌到期日期的需要。

0 投票
1 回答
62 浏览

azure-ad-b2c - 更新自定义属性后获取新值的延迟

我们为我们的应用程序编写了两个自定义策略 - verify_email 和 signup_sign_in 策略。我们向用户发送一封欢迎电子邮件(我们在注册期间不使用 otp 验证电子邮件),其中包含指向 verify_email 自定义策略的链接。该链接包含由我们的证书签名的 id_token 提示,verify_email 从 id_token 获取用户主体,从 AAD 获取用户,更新 email_verified 自定义属性,然后将用户重定向到应用程序。这是一个不会向用户显示任何 UI 的无缝过程。

我所看到的是有一半的时间,sign_up_sign_in 策略不会获得最近更新的 email_verified 声明的最新值。似乎有一个延迟,当您将声明写入 azure 广告时,有时会读取它,您得到的是旧值。是否可以针对这种滞后做些什么来确保我始终获得正确的价值?提前致谢。

0 投票
0 回答
54 浏览

android - Azure B2C Android 更改应用 ID、主机、redirect_uri

我有一个使用 Azure AD B2C 的 Android 应用程序,该应用程序正在运行,但我更改了包名称,我认为这是导致我收到错误的原因:

“该应用仍在使用旧版 MSAL 重定向 uri。切换到 MSAL 本地身份验证。对于代理身份验证,重定向 URI 应符合“msauth:///.*”,其中该 uri 中的权限是包名称应用程序。此包名称在 build.gradle 文件中列为“applicationId”。Android 29"

我试图:

  • 更改 res/raw/auth_config.json 文件中的“redirect_url”
  • 更改 AndroidManifest.xml 中的包名
  • 在 Azure B2C App 注册中重命名包名(也尝试创建一个新的)

我似乎没有关于更改包名称的文档,但我确实使用了这些参考:

我在想它可能与签名哈希生成(教程中的第 9 步)有关,但这似乎适用于我的整个开发环境,因为在生成它时没有对包名称的具体引用。所以我想我可以重用那个有效的。然后我又转向 Build Bundle vs APK 所以我不确定这是否会改变任何东西。

以前有人做过吗?我在 Azure 中拥有一切,但考虑过评估 Auth0,因为这非常复杂并且需要数周的开发时间。我不确定这会不会更容易,但我在解决这个问题上没有取得进展。我还担心生产问题和解决时间过长的潜在风险。

0 投票
1 回答
70 浏览

azure - 限制哪些企业客户帐户可以使用 AD B2C 登录到多租户应用程序

我想创建一个多租户应用程序,用户将在其中使用 Azure AD B2C 登录。我将授予使用政策的某些租户的访问权限,这些租户是我们的客户。只有选定租户的商业客户才能访问。

我有一个客户需要精细控制他们的哪些用户可以访问我的应用程序。据我了解,只要用户同意应用程序请求的权限,我的应用程序就会在其租户中注册为服务主体

一切都很好,但服务主体只是一种帐户,可以访问其租户中的某些资源,这些资源是在接受应用程序时授予的。当应用程序在其 AD 中注册后,该组织中的任何人都可以登录。当有人登录时,这会自动在我们租户的 Azure AD B2C 中创建消费者帐户

使用者用户可以登录到受 Azure AD B2C 保护的应用程序,但不能访问 Azure 资源,例如 Azure 门户。消费者用户可以使用本地帐户或联合帐户,例如 Facebook 或 Twitter。使用注册或登录用户流、使用 Microsoft Graph API 或使用 Azure 门户创建使用者帐户。

现在,我有一个客户也想控制只有他们 AD 中的某些帐户才能登录。所以基本上,用户身份不应该能够访问服务主体?

这是一个受支持的用例吗?如果是,我该如何处理它以及我在寻找什么术语?如果可能的话,我不希望我的组织处理任何这些。我只想为租户中的所有用户授予访问权限,然后由客户授予/撤销对单个用户的访问权限。