问题标签 [azure-ad-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 投票
2 回答
3304 浏览

cordova - 在 Cordova/Ionic 应用程序上登录 Azure AD B2C

TL; DR - 是否有一种简单的方法可以在离子应用程序上显示自定义 Azure B2C 注册策略?

我目前正在开发一个混合离子应用程序,该应用程序需要使用 Azure AD B2C API 来显示由我使用的一些后端开发人员定义的自定义登录页面。

我已经尝试为此使用ADAL cordova 插件,但据我所知,没有办法为新的 Web 视图添加自定义策略。我尝试在 acquireTokenAsync() 调用中添加“p=B2C_1_sign-in-up-policy”作为 extraQueryParameters 选项,但这给了我一个MethodNotAllowedHttpException

我仍然不确定 ADAL 是否/如何与 B2C 相关,因此我转而直接尝试Azure B2C Oauth 2.0实现。但这似乎是一个错误,因为我正在手动执行 ADAL 插件似乎已经在执行的操作。

这些中的任何一个都是正确的选择吗?离子应用程序的 Azure AD B2C 登录是否有替代方法?

提前致谢

编辑:为了澄清,我已经让 ADAL 工作到从 ADAL 弹出默认的 microsoft web 视图登录的地步,但我想展示一个自定义的 Azure B2C 策略来代替它。这可能吗?

编辑 2:在弄乱 ADAL AuthenticationContext 参数后,azquireTokenAsnyc() 调用在策略上不再失败。参数看起来像这样:

我现在的问题是弹出的 webview 覆盖是空白的。我已经设法将其追踪到这个 ADAL 源文件(在 android 上测试),它使用“/oauth2/authorize”而不是“oauth2/v2.0/authorize”,如B2C Oauth2 Docs所述

似乎目前没有办法通过cordova插件自定义它,因为它在源库中是硬编码的——我现在又被卡住了......

0 投票
1 回答
946 浏览

azure-ad-b2c - Active Directory B2C 获取 facebook 访问令牌

我正在将新的 AD B2C 功能与 Azure Web 服务中的社交身份验证功能进行比较。使用 AD B2C 方法,我似乎找不到从像 facebook 这样的社交提供商访问底层访问令牌的方法。

例如,在 Azure Web Services 社交身份验证中有一个http://example.com/.auth/me端点将提供 BACK 令牌以访问社交提供者的 api。

这在 B2C 中不可用吗?如果不是,那似乎是倒退了一步。

0 投票
1 回答
146 浏览

azure - 将 Azure AD B2C 与 Xamarin 应用程序集成

我的 Xamarin 应用程序 (PCL) 调用 Web API,如下面的代码所示:

我的 Web API 授权如下:

我正在使用 Azure AD B2C 来获取令牌。我能够从 Azure AD Graph 获取用户角色。我不确定的是如何将从 Graph 查询返回的角色添加到AuthenticationResult.Token传递给 Web API 的角色中。

0 投票
4 回答
6547 浏览

asp.net-core - 如何从 Azure B2C 获取 ASPCore 中的 OID 声明

我为什么要这个?

我正在尝试从我的用户那里获取一个唯一标识符,我可以将其连接到数据库记录。我不想使用电子邮件作为标识符是有原因的。我读到 B2C 不支持 SUB 声明,并在其位置使用 OID。

我已采取的步骤

因此,我设置了我的两个策略都返回 Azure B2C 上的对象 ID:

在此处输入图像描述

我目前正在使用个人登录和注册策略,并且我收到了所有索赔,包括我指定的我想要退回的电子邮件索赔。但是,我找不到与 OID 或 SUB 相关的索赔。

让我得到以下结果:

在此处输入图像描述

我发现的唯一希望是这种说法:

类型:http: //schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

值:目前不支持。使用 oid 声明。

问题

我是否错过了一些您需要执行以检索此特定声明的额外步骤?

有没有人成功地从 Azure B2C 检索 OID 或 SUB?

0 投票
1 回答
156 浏览

azure - 在桌面应用程序中签名期间密码重置失败

我在本机应用程序到 Web API 服务方案中使用 Azure AD B2C 身份验证。按照当前 Azure 文档中的建议,使用Microsoft.Identity.Client包 (1.0.304142201-alpha)完成与 AD 的通信。

当我在登录期间尝试使用自助密码重置时,在第一页上按下按钮(带有登录名和验证码图像)后,我收到MsalException出现 non_https_redirect_failed错误。

此功能适用于具有Microsoft.IdentityModel.Clients.ActiveDirectory包 (2.28.1) 的 Web 应用程序和具有先前推荐的Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory ( 4.0.209160138-) 的桌面应用程序中的相同 AD B2C 租户α)

0 投票
1 回答
556 浏览

xamarin - 如何集成新的 AD B2C 和 C# Azure 移动客户端库?

我已经保护了我的 API 应用程序,并且我已经使用我在此处找到的示例应用程序成功测试了我的 ADB2C 流程:https ://github.com/Azure-Samples/active-directory-b2c-xamarin-native 。使用该结构,我可以触发登录过程,然后访问受保护的 API 调用。

不过,我还想使用 WindowsAzure.Mobile sdk 来方便。此处暗示:https ://cgillum.tech/2016/08/10/app-service-auth-and-azure-ad-b2c-part-2/ 您可以在该类中从 LoginAsync 触发 B2C 流但是当我以这种方式调用它时它什么也没做。

我还找到了https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-how-to-use-client-library/(滚动到“使用 Active Directory 身份验证验证用户库”),我用 MSAL 调用代替了获取令牌。这触发了登录流程,我得到了一个好的令牌并要求返回,然后我把它放在一些 JSON 中并像这样传递它:

对 LoginAsync 的调用抛出

{Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException: You do not have permission to view this directory or page. at Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient+<ThrowInvalidResponse>d__18.MoveNext () [0x0022f] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- (snip)

它们不是为了协同工作而设计的吗?这些是不同种类的代币吗?我使用 B2C 的原因是因为我真的不想知道所有 OAUTH 的东西 :)

0 投票
1 回答
102 浏览

android - Azure Adal B2C GA 版本

是否有适用于 azure adal b2c GA 的版本。据我所知,我认为 GA 版本适用于 B2B 而不是 B2C。该文档显示版本 2.0.3-alpha。

这是链接 https://github.com/AzureAD/azure-activedirectory-library-for-android/tree/convergence

0 投票
1 回答
1101 浏览

c# - 带有 ASP.NET Core 的 Azure AD B2C - 无法编辑配置文件

我试图寻找与此相关的问题,但找不到任何东西。

我有一个使用 Azure AD B2C 进行身份验证的 ASP.NET Core 1.0 应用程序。签名和注册以及退出工作都很好。当我尝试编辑用户的个人资料时,问题就来了。这是我的 Startup.cs 的样子:

这是我的 AccountController,我从这里向中间件发出挑战:

我试图从 OWIN 示例中对其进行调整。我遇到的问题是,为了编辑配置文件,我必须向负责该操作的 OpenIdConnect 中间件发出挑战。问题是它调用了默认登录中间件(Cookies),它意识到用户已通过身份验证,因此该操作一定是未经授权的,并尝试重定向到 /Account/AccessDenied (即使我什至没有在那条路线上有任何东西),而不是去 Azure AD 按应有的方式编辑配置文件。

有没有人在 ASP.NET Core 中成功实现了用户配置文件编辑?

0 投票
1 回答
822 浏览

c# - 在具有 Azure AD B2C 和自定义策略的 Xamarin Forms Windows 应用程序中使用 AcquireTokenAsync() 时的连接问题

我正在使用 MSAL 将我的 Xamarin.Forms-Windows 8.1-App 连接到带有自定义 SignInSignUp 策略的 Azure AD B2C(使用自定义电子邮件地址和密码登录用户)。针对 Azure AD 的“正常”身份验证(没有自定义策略)工作正常,但是当我使用该策略时,消息“我们现在无法连接到您需要的服务。请检查您的网络连接或稍后再试一次。” 每次提供凭据后都会出现(直接在对话框中)。由于对话框没有正确完成,我没有检索任何异常或 AuthenticationResult,因此我无法确定具体问题(互联网连接本身不是问题)。

注意:我也在 Xamarin.Forms-UWP-App 中尝试过这个,这导致我遇到同样的问题。在 iOS 下,它工作正常,对话框完成并正确关闭。

NuGet 版本:MSAL (Microsoft.Identity.Client):1.0.304142201-alpha Xamarin.Forms:2.3.2.118-pre1

那是我的代码(简化):

对此有什么想法吗?

提前致谢!

问候,
马塞尔

0 投票
0 回答
215 浏览

c# - c# 使用自定义表单为 Azure B2C Active Directory 创建新用户

我正在创建一个 .NET API,我希望有一个自定义方法来从数据库创建现有用户并将它们添加到新的 Azure B2C Active Directory。我不想使用原则。

我不希望他们必须通过 Microsoft 注册屏幕,而是在他们单击按钮后动态创建它们。

另外,我想保留他们现有的电子邮件作为他们的 Principal 名称,以便他们的电子邮件地址可以是诸如 test@mynewsite.com 之类的任何东西。这可能吗?非常感谢