标签: azure-ad-b2c

我的 Azure AD B2C 令牌的密钥在哪里?

我正在遵循本指南并使用jwt.io chrome 插件,但我找不到我的密钥,因此我可以手动验证签名。

JWT 标头

{
  "typ": "JWT",
  "alg": "RS256",
  "kid": "c9HOlAkfaBs4YSKZ7RoMnZlKrVzdkXHB2QoLv1fETQ8"
}
Run Code Online (Sandbox Code Playgroud)

ID连接元数据文档使我https://login.microsoftonline.com/common/discovery/v2.0/keys但响应没有这个孩子。

我也参考了这篇博文

jwt azure-ad-b2c

2
推荐指数
2
解决办法
2546
查看次数

Azure AD B2C 登录问题

我正在 GitHub 上试用名为 active-directory-b2c-dotnet-webapp-and-webapi 的示例代码,当我针对示例中的 AD B2C 目录运行它时,它工作正常,但我在尝试时遇到了问题我自己的 AD B2C 目录。我收到以下错误:

ID 为“xxx”的应用程序无法获取 ID 令牌,因为未请求 openid 范围或应用程序未获得授权

openid 范围不是自动包含的吗?我按照提供的说明设置了一个 Web 应用程序和一个 Web API 应用程序。当我查看 Web 应用程序有权访问的范围时,openid 范围未在此处列出。这是我需要手动添加的东西吗?

azure-ad-b2c

2
推荐指数
1
解决办法
1572
查看次数

在哪里可以找到所有受支持的 B2C 自定义策略声明转换方法的列表?

在哪里可以找到所有受支持的 Azure AD B2C 自定义策略声明转换方法的列表?

我已经在 Google、Bing、DuckDuckGo 和 GitHub 上搜索过此类列表,但找不到。

并且 TrustFrameworkPolicy_0.3.0.0.xsd 架构不包含它。

https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/blob/master/Documentation/Features%20part%206.md - 确实有一个过时的列表 - 有些方法AddParameterToStringCollection不能used - 使用时无法导入策略。

azure-ad-b2c

2
推荐指数
1
解决办法
534
查看次数

使用 openid 从 B2C Azure Active Directory 获取刷新令牌的范围内的“offline_access”值不起作用

我正在尝试使用 Azure B2C Active Directory 实施身份验证。一切正常,我可以使用特定策略登录并从 B2C 活动目录中获取 access_token。但是,当我尝试在登录 url 的范围内传递值“offline_access”以获取刷新令牌时,它返回一条错误消息,我无法登录。我正在使用 Angular 5 的 ADAL(Azure 目录身份验证库)对 Azure AD 进行身份验证。

这是我的角度 ADAL 配置代码的图像

这是我尝试在 url 范围内传递“offline_access”值时遇到的问题图像

完整的错误信息:

http://localhost:4200/dashboard#error=invalid_request&error_description=AADB2C90012%253a+The+scope+ 'openid+offline_access'+provided+in+request+is+not+supported.%0D%0ACorrelation+ID%253a+05f9f8b0- a8a0-4fdc-9cca-50a4e81a929c%0D%0ATimestamp%253a+2018-01-17+04%253a35%253a36Z%0D%0A&state=a878cc7f-6d87-47e6-a095

我在这里错过了什么吗?或者有另一种方法来获取刷新令牌?

openid adal azure-ad-b2c angular5

2
推荐指数
1
解决办法
1390
查看次数

无法添加/上传 Azure AD B2C 自定义策略

我正在尝试在 Azure AD B2C 租户中创建自定义策略。但是“添加”和“上传策略”这两个按钮都被禁用了。看起来自定义策略迄今尚未启动。是这样吗?我搜索了很多,但找不到任何表明是否已启动自定义策略的文件。我的要求是能够:

1) 更改电子邮件地址 2) 更改密码

azure azure-ad-b2c identity-experience-framework

2
推荐指数
1
解决办法
764
查看次数

Azure AD B2C 页面 UI 自定义的 CORS 配置

我正在为我的 Azure AD B2C 登录/注册使用自定义页面 UI 模板,我想知道我需要CORS在我的 Azure Blob 存储帐户的配置中使用哪个域。

登录页面似乎来自https://login.microsoftonline.com. 这是正确的起源吗​​?

当我使用StorageClientMicrosoft 创建的命令行工具将我的自定义 UI 文件上传到我的 Azure Blob 存储时,我注意到它也将其设置*Allowed Origins文档所指示的。这是文档:https : //docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-ui-customization-custom-dynamic#step-3-configure-cors-in-天蓝色应用服务

我不认为这真的很安全,我想将它限制在那些绝对必要的域中。

我想这样做有两个原因,这两个都很重要:

  1. 我想保持尽可能严格的安全性,允许任何来源似乎都不安全。
  2. 更重要的CORS是,在 Azure Blob 存储的服务级别而不是容器级别设置。我在同一个存储帐户下还有其他包含用户文件的容器。这些文件只能从我的应用程序访问,该应用程序创建了一个 SAS 以允许访问它们。如果我将Allowed Originsfor设置为CORSany,即使受保护的文件仍然需要 SAS,它也会降低我的应用程序的安全性。正如我之前所说,我希望尽可能保持安全。

所以,问题是:我应该Allowed OriginsCORSAzure AD B2C 的配置中输入什么 URL ?我不只是想假设这是https://login.microsoftonline.com因为 Microsoft 通常会在他们的服务中进行一些重定向,而且我想确保包含所有必要的来源。

azure azure-active-directory azure-blob-storage azure-ad-b2c

2
推荐指数
1
解决办法
4003
查看次数

在 MVC 核心应用程序中使用 AddAzureADB2C 时向 ClaimsPrincipal 添加自定义声明

使用 azure AzureADB2C 进行身份验证时,我想将门户中管理的自定义声明添加到声明原则

current code in start up 
   services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme)
                .AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));
Run Code Online (Sandbox Code Playgroud)

我认为它应该像这样工作,但在令牌验证时从未被击中

 services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme)
                .AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options))
                .AddJwtBearer(o =>
                    {
                        o.Events = new JwtBearerEvents
                                       {
                                           OnTokenValidated = async ctx =>
                                               {
                                                       var claims = new List<Claim> { new Claim("ConfidentialAccess", "true") };
                                                       var appIdentity = new ClaimsIdentity(claims);
                                                       ctx.Principal.AddIdentity(appIdentity);
                                               }
                                       };
                    });
Run Code Online (Sandbox Code Playgroud)

c# azure claims azure-ad-b2c asp.net-core

2
推荐指数
1
解决办法
4152
查看次数

将 azure 函数连接到 b2c

因此,我创建了 azure b2c 目录,并在其中创建了应用程序,例如https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp,我在一般的 azure 目录中创建了 azure 函数,假设读取 blob 并返回 json 文件。我还创建了用于登录的自定义登录页面。我在本地运行我的程序,我可以登录,而不是调用 github 中使用的 API,我调用 azure 函数并且它可以工作。但现在我想保护对功能的访问,所以我将 authLevel 设为“用户”并尝试通过 Azure Active Directory 进行身份验证。而且无论我怎么设置,或者因为没有权限而无法连接,或者因为没有权限而无法使用功能。我也收到此错误请求中指定的客户端 ID '/.auth/login/aad/callback' 未在租户 '' 中注册。”

我应该如何将函数连接到 b2c,以便只有授权用户才能访问函数响应。

azure-active-directory azure-ad-b2c azure-functions

2
推荐指数
1
解决办法
2075
查看次数

2
推荐指数
1
解决办法
986
查看次数

命名空间中的元素“BuildingBlocks”在命名空间中具有无效的子元素“Predicates”

在上传修改后的 trust_framework_extension 文件时,我创建了一个新的声明类型并添加了 Predicates 和 PredicateValidations 元素,但是当我上传文件时出现错误

“命名空间‘ http://schemas.microsoft.com/online/cpim/schemas/2013/06 ’中的元素‘BuildingBlocks’在命名空间中具有无效的子元素‘Predicates’……”

文档显示“buildingBlocks”应包含“Predicates”和“PredicateValidations”,但会引发错误。

“InputValidations”也不再出现在构建块中,因为我也遇到了错误。遵循在线文档:: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-password-complexity-custom

错误:: 验证失败:在租户“abc.onmicrosoft.com”的策略“B2C_1A_B_TRUSTFRAMEWORKEXTENSIONS”中发现 1 个验证错误。在租户“abc.onmicrosoft.com”的策略“B2C_1A_B_TRUSTFRAMEWORKEXTENSIONS”的第 78 列第 6 行发现架构验证错误“:元素‘BuildingBlocks’命名空间“ http://schemas.microsoft.com/online/cpim/schemas/2013/06具有无效的子元素‘谓词’命名空间” http://schemas.microsoft.com/在线/cpim/schemas/2013/06 '。预期的可能元素列表:命名空间中的“ClientDefinitions、ContentDefinitions、Localization” http://schemas.microsoft.com/online/cpim/schema

     <BuildingBlocks>
<ClaimsSchema>
  <ClaimType Id="newPassword">
      <InputValidationReference Id="PasswordValidation" />
    </ClaimType>
    <ClaimType Id="reenterPassword">
      <InputValidationReference Id="PasswordValidation" />
  </ClaimType>
</ClaimsSchema>
<Predicates>
          <Predicate Id="Length" Method="IsLengthRange" HelpText="The password must be between 3 and 5 characters.">
              <Parameters>
                  <Parameter Id="Minimum">3</Parameter>
                  <Parameter Id="Maximum">5</Parameter>
              </Parameters>
            </Predicate>


            <Predicate Id="Number" Method="IncludesCharacters">
                <UserHelpText>a digit</UserHelpText>
                    <Parameters>
                      <Parameter Id="CharacterSet">0-9</Parameter>
                    </Parameters>
            </Predicate>
      </Predicates>
<PredicateValidations>
    <PredicateValidation Id="PasswordValidation">
        <PredicateReferences Id="LengthGroup" MatchAtLeast="1">
          <PredicateReference …
Run Code Online (Sandbox Code Playgroud)

azure-ad-b2c

2
推荐指数
1
解决办法
710
查看次数