标签: azure-ad-b2c

Azure ad b2c 自定义连接器“ShowBlockPage”响应不起作用

我按照此处的文档返回阻止响应https://learn.microsoft.com/en-us/azure/active-directory-b2c/add-api-connector?pivots=b2c-user-flow#example-of -a-blocking-response从 api 连接器到 azure ad b2c,但是即使在构建了文档中所示的正确响应之后,我仍然无法显示 b2c 用户流的阻止页面。

请注意,此连接器在登录时被调用。

我已经验证 api 的响应似乎是正确的,如下所示

{
    "version": "1.0.0",
    "action": "ShowBlockPage",
    "userMessage": "You must have a local account registered for Contoso."
}
Run Code Online (Sandbox Code Playgroud)

有了这个,我们希望看到如下所示的阻塞页面(来自文档的屏幕截图),但 b2c 不会显示它并直接进入连接的应用程序。

在此输入图像描述

我错过了什么?任何指示将不胜感激。TIA。
这是我的 api 连接器的代码

public static async Task<IActionResult> Run(HttpRequest req, ILogger log)
{
    log.LogInformation("C# HTTP trigger function processed a request.");

    // Get the request body
    string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
    dynamic data = JsonConvert.DeserializeObject(requestBody);
    
    // If input data is null, show block page
    if (data …
Run Code Online (Sandbox Code Playgroud)

azure-ad-b2c

3
推荐指数
1
解决办法
396
查看次数

将 Azure AD B2C 用户流迁移到自定义策略

我们正在考虑从 B2C 应用程序的内置用户流程开始。我们希望受益于注册用户的标准流程、忘记密码的工作流程、MFA 等......

然而,由于我们平台的业务需求可能(并且将会)随着时间的推移而变化,标准用户流可能不够,我们可能需要随着时间的推移切换到自定义策略。

因此,我们想知道是否可以从当时标准配置的用户流迁移(导出/导入?)到基于 XML 的自定义策略?

azure-ad-b2c azure-ad-b2c-custom-policy

3
推荐指数
1
解决办法
1013
查看次数

如何在现有订阅下创建 ad-b2c 租户

我正在尝试 ad-b2c 和男孩,即使第一步也变得非常令人沮丧。无论如何,这是我的问题:

  1. 我有一个默认目录的现有订阅,该目录有自己的 mydefaultdirectory.onmicrosoft.com 域
  2. 根据这里的说明:我应该可以创建一个 ad-b2c 租户,然后进入门户 B2C 功能刀片。
  3. 我创建了租户,其中包括我创建了一个自定义的 ad-b2c 目录。我不得不选择另一个域,例如 myadb2ctest.onmicrosoft.com。
  4. 我去b2c刀片下的门户,但现在我没有订阅。这是因为现在我登录到 myadb2ctest 目录而不是我订阅的 mydefaultdirectory。
  5. 我不想创建新订阅。我只想要这个目录与我现有的订阅相关联,这样我就可以试试这个东西。

azure azure-ad-b2c

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

Azure AD B2C-令牌验证不起作用

我想使用Azure AD B2C,但使用它有一些困难。我遇到的一个问题是验证令牌的签名。首先,我想使用jwt.io“手动”验证令牌。

根据Microsoft Docs的要求,验证签名应如下所示:

您的应用程序可以使用JWT标头中的kid声明在JSON文档中选择用于签署特定令牌的公钥。然后,它可以使用正确的公钥和指示的算法执行签名验证。

我的理解:从头中获取kid值,在jwks_uri位置下的元数据中查找键,(假设)使用值“ n”来验证签名。

在此处输入图片说明

但是Jwt.io,jsonwebtoken.io和jose-jwt都说,siganture 是无效的。

我想念什么?

jwt azure-ad-b2c

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

Azure B2C示例自定义策略,当SignIng In显示"您的密码不正确"时

我在此处遵循了"入门"工作流程:https: //docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-get-started-custom

我从头开始跟踪它,两次,并且尝试使用登录和注册自定义策略登录时都会出现"我的密码不正确"的提示.我该如何正确认证?

工作的事情:

  • 当我进行注册时,用户旅程完成,并且用户被添加到目录中
  • 使用内置策略我可以登录并注册
  • 使用内置策略,我可以与使用自定义策略注册的用户登录

使用Application Insights我可以看到以下错误.(适用一些卫生设施)

"ValidationRequest":{  
           "ContentType":"Unspecified",
           "Created":"2017-10-06T17:19:34.3995426Z",
           "Key":"ValidationRequest",
           "Persistent":true,
           "Value":"client_id=55555555-5555-5555-5555-555555555555&resource=cccccccc-cccc-cccc-cccc-cccccccccccc&username=MYUSERNAME&password=PASSWORDIENTEREDONSCREEN&grant_type=password&scope=openid&nca=1;1;login-NonInteractive;False"
        },

"ValidationResponse":{  
           "ContentType":"Json",
           "Created":"2017-10-06T17:19:34.3995426Z",
           "Key":"ValidationResponse",
           "Persistent":true,
           "Value":"{\"error\":\"invalid_client\",\"error_description\":\"AADSTS70002: The request body must contain the following parameter: 'client_secret or client_assertion'.\\r\\nTrace ID: 55555555-cccc-cccc-cccc-555555555555\\r\\nCorrelation ID: 77777777-7777-7777-7777-777777777777\\r\\nTimestamp: 2017-10-06 17:19:33Z\",\"error_codes\":[70002],\"timestamp\":\"2017-10-06 17:19:33Z\",\"trace_id\":\"55555555-cccc-cccc-cccc-555555555555\",\"correlation_id\":\"77777777-7777-7777-7777-777777777777\"};1;login-NonInteractive;False"
        },
Run Code Online (Sandbox Code Playgroud)

重要的一点似乎是:

"AADSTS70002:请求正文必须包含以下参数:'client_secret或client_assertion"

后来它说:

"抛出了类型'Web.TPEngine.Providers.BadArgumentRetryNeededException'的异常."

我仔细检查了一些事情:

  • 在我的Identity Experience Framework> Policy Keys中,按照本指南中的步骤操作后,我有以下4个键:
    • B2C_1A_AdminClientEncryptionKeyContainer
    • B2C_1A_FacebookSecret
    • B2C_1A_TokenEncryptionKeyContainer
    • B2C_1A_TokenSigningKeyContainer
  • 在常规的AAD> App注册中,我有以下应用程序:
    • IdentityExperienceFramework
    • ProxyIdentityExperienceFramework
  • ProxyIdentityExperienceFramework已从IdentityExperienceFramework委派了Access IdentityExperienceFramework权限.
    • 我已经获得了两个应用的授予权限.
  • 两个应用程序ID都在TrustFrameworkExtensions.xml中被正确替换,每个都有两个位置

任何帮助深表感谢.谢谢.

azure azure-ad-b2c

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

Azure AD B2C邀请电子邮件

有人知道为什么当我邀请用户访问我的Azure AD B2C时,他们中的一些人在点击邀请电子邮件后会看到不同的网页吗?例如,用户将要求@ gmail.com创建Microsoft帐户,但如果他的电子邮件以@ mvrht.net结尾,则此页面的布局将有所不同.

我试图在网上搜索任何东西,但没有找到任何东西.是否有某种"魔法?算法决定这一点?

azure azure-active-directory azure-ad-b2c

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

在Azure AD B2C中读取扩展声明

我有2个声明,我想存储在目录中供我的应用程序使用.这些不可供用户编辑,但可供应用程序从令牌中读取.

BuiltIn策略能够检索声明,但是,使用自定义策略检索这些声明时,我没有取得任何成功.

阅读文章"在自定义配置文件编辑策略中创建和使用自定义属性"的后续步骤,需要将声明添加到RP和TechnicalProfile以从目录中读取.因此,我更新了RP以及从目录中读取的TP

<TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId">
<TechnicalProfile Id="AAD-UserReadUsingObjectId">
<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
<TechnicalProfile Id="AAD-UserReadUsingEmailAddress">
Run Code Online (Sandbox Code Playgroud)

无法弄清楚可能缺少什么来检索2个扩展声明.

azure-ad-b2c

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

查询Azure AD图以获取B2C SignInName

如何查询Azure AD Graph的SignInName?即,我想获取用户的登录名并在Azure AD图中找到用户对象。


我会假设我应该使用$filter,对吧?

我试过了:

https://graph.windows.net/myB2Ctenant.onmicrosoft.com/users?api-version=1.6&$filter=signInNames eq spottedmahn
Run Code Online (Sandbox Code Playgroud)

我得到:

二进制运算符“等于”的操作数不是单个值。二进制运算符要求两个操作数均为单个值。


好的,所以也许我支持使用any运算符,所以我尝试了:

https://graph.windows.net/myB2Ctenant.onmicrosoft.com/users?api-version=1.6&$filter=signInNames/any(c:c eq 'spottedmahn')
Run Code Online (Sandbox Code Playgroud)

检测到类型不兼容的二进制运算符。找到运算符类型“等于”的操作数类型“ Microsoft.DirectoryServices.SignlnName”和“ Edm.String”。


c:c我以为是lambda,然后尝试了以下操作:

https://graph.windows.net/myB2Ctenant.onmicrosoft.com/users?api-version=1.6&$filter=signInNames/any(c:c.value eq 'spottedmahn')
Run Code Online (Sandbox Code Playgroud)

强制转换中的子类型“ c.value”不是实体类型。只能对实体类型执行转换。

参考:用户实体

azure-ad-graph-api azure-ad-b2c

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

Azure AD B2C页面UI自定义不支持Bootstrap吗?

我正在尝试自定义Azure AD B2C统一登录/注册页面上的页面UI。

我能够创建模板,并使用正确的CORS设置将所有资产(即html页面,图像和CSS)上传到我的Azure Blob存储容器。

但是,当我拉出页面时,它看起来绝对可怕!它似乎不支持Bootstrap。我读到某处禁止使用JavaScript。是这个原因吗?

一旦我上传我的自定义HTML页面,Azure的AD B2C似乎被剥离了很多必要的设计元素为我定制如idstyle我的body标签-见下图:

<!-- Omitted for brevity -->
<body id="my-login-class" style="url: ('https://myazurestorage.blob.core.windows.net/my-container/my-bg-image.jpg')">

   <div id="some-important-id" class="my-important-class">
      <div class="col-xs-8">
          <div>Some important message</div>
      <div>
      <div class="col-xs-4">
         <div id="api">
         </div>
      </div>
   </div>

</body>
Run Code Online (Sandbox Code Playgroud)

呈现自定义页面后,当我检查页面源代码时,我发现所有类和ID以及Bootstrap引用(例如css和)都被删除js

我说对了吗?没有引导程序,这意味着Azure AD B2C仅支持最基本的自定义类型?

azure azure-active-directory azure-ad-b2c

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

共享同一Azure AD B2C的两个本机移动应用程序(配置)

我有两个本机Android应用程序,它们使用相同的Azure AD B2C应用程序。

我已经在Android清单中使用以下代码创建了第一个应用程序

<activity android:name="microsoft.identity.client.BrowserTabActivity" android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="msauth-74ffd02e-dc15-4e4b-bec8-966579b851db" android:host="com.myapp.firstadapplication" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

如果我的理解是正确的,那么这段代码将在登录成功后唯一地标识应用程序。特别是android方案

在Azure AD门户中,我在重定向uri中配置了相同的方案 在此处输入图片说明

msauth-74ffd02e-dc15-4e4b-bec8-966579b851db://com.myapp.firstadapplication
Run Code Online (Sandbox Code Playgroud)

我的疑问是,

由于我在两个本机移动应用程序中使用相同的Azure AD应用程序,是否可以在唯一标识第二个应用程序的Azure门户中添加另一个重定向uri?就像我在下面写的一样。

首次申请-

msauth-74ffd02e-dc15-4e4b-bec8-966579b851db://com.myapp.firstadapplication
Run Code Online (Sandbox Code Playgroud)

二次申请-

msauth-64ffd02e-ec15-3e4b-bec8-866579b851db://com.myapp.secondadapplication
Run Code Online (Sandbox Code Playgroud)

android azure xamarin.forms azure-ad-b2c

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