首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用于Azure B2C的带有TOTP的PasswordChange是什么样子的?

用于Azure B2C的带有TOTP的PasswordChange是什么样子的?
EN

Stack Overflow用户
提问于 2022-04-11 21:54:59
回答 1查看 98关注 0票数 0

我有一个现有的Azure B2C解决方案使用自定义策略,并提供注册/注册通过AAD,MS帐户,谷歌和本地。我现在添加由https://learn.microsoft.com/en-us/azure/active-directory-b2c/multi-factor-authentication?pivots=b2c-custom-policy提供的TOTP。

我已经注册/签名和密码重置策略使用TOTP为本地帐户工作。社交账户我不需要TOTP。但是,我正在努力使用ChangePassword策略,其中已经登录的用户可以更改他们的密码。对于这个步骤,我希望用户在更改密码之前通过TOTP验证自己。

在我的非TOTP解决方案中,我使用的是由PasswordChange UserJourney提供的https://learn.microsoft.com/en-us/azure/active-directory-b2c/add-password-change-policy?pivots=b2c-custom-policy

为了完整起见,它看起来如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <UserJourney Id="PasswordChange">
      <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.signuporsignin">
          <ClaimsProviderSelections>
            <ClaimsProviderSelection TargetClaimsExchangeId="LocalAccountSigninEmailExchange" />
          </ClaimsProviderSelections>
        </OrchestrationStep>
        <OrchestrationStep Order="2" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="3" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="NewCredentials" TechnicalProfileReferenceId="LocalAccountWritePasswordChangeUsingObjectId" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="4" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
          </ClaimsExchanges>
        </OrchestrationStep>
        <OrchestrationStep Order="5" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
      </OrchestrationSteps>
      <ClientDefinition ReferenceId="DefaultWeb" />
    </UserJourney>

我希望通过在旧策略的第2步和第3步之间插入TotpFactor-输入和TotpFactor-验证步骤,来解决PasswordChangeWithTOTP类似的问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <UserJourney Id="PasswordChangeWithTOTP">
      <OrchestrationSteps>

        <OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.signuporsignin">
          <ClaimsProviderSelections>
            <ClaimsProviderSelection TargetClaimsExchangeId="LocalAccountSigninEmailExchange" />
          </ClaimsProviderSelections>
        </OrchestrationStep>

        <OrchestrationStep Order="2" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
          </ClaimsExchanges>
        </OrchestrationStep>

        <!-- Call the TOTP enrollment ub journey. If user already enrolled the sub journey will not ask the user to enroll -->
        <OrchestrationStep Order="3" Type="InvokeSubJourney">
          <JourneyList>
            <Candidate SubJourneyReferenceId="TotpFactor-Input" />
          </JourneyList>
        </OrchestrationStep>

        <!-- Call the TOTP validation sub journey-->
        <OrchestrationStep Order="4" Type="InvokeSubJourney">
          <JourneyList>
            <Candidate SubJourneyReferenceId="TotpFactor-Verify" />
          </JourneyList>
        </OrchestrationStep>

        <OrchestrationStep Order="5" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="NewCredentials" TechnicalProfileReferenceId="LocalAccountWritePasswordChangeUsingObjectId" />
          </ClaimsExchanges>
        </OrchestrationStep>

        <OrchestrationStep Order="6" Type="ClaimsExchange">
          <ClaimsExchanges>
            <ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
          </ClaimsExchanges>
        </OrchestrationStep>

        <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />

      </OrchestrationSteps>
      <ClientDefinition ReferenceId="DefaultWeb" />
    </UserJourney>

小问题:由于使用应用程序的发布周期,我提出了一个新的策略,而且我并不完全相信我应该提供TOTP注册作为这一特定步骤的一部分,尽管这是我们为SignUpSignIn和PasswordReset做的事情。

在执行"Get available强身份验证设备“活动时,我得到的错误”服务收到了一个糟糕的请求“。错误消息的目标类型用户和Id与登录期间使用的类似操作一致。我看不出还有什么特别是从我身上跳出来的。

我确实尝试过在TotpFactor输入步骤之前插入一个<ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" /> OrchestrationStep,但我认为这可能已经违背了TOTP的目的。在更改密码之前,也没有提示我提供验证代码。

使用TOTP策略的PasswordChange应该是什么样的呢?

EN

回答 1

Stack Overflow用户

发布于 2022-04-13 15:05:42

你有没有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<OutputClaim ClaimTypeReferenceId="userPrincipalName" />

作为来自SelfAsserted-LocalAccountSignin-电子邮件的输出声明?

据我所知,从文档/示例中可以看出,userPrincipalName是TOTP SubJourneys工作所必需的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71837722

复制
相关文章
云计算的未来是什么样子的
冠状病毒疫情改变了企业和经济本身的发展。在这场疫情期间,看到了数字化转型的高峰,因为它关闭了办公室,制定了社会距离规范,引入了远程工作,并要求灵活性和弹性。许多行业拥抱数字化转型和自动化,以促进业务增长,从而在经济中保留自己的空间。数字化成为“新常态”,云服务在这一转变中扮演着至关重要的角色。
CloudBest
2021/11/30
9880
15 岁的 DNSPod 是什么样子?
2020.3.9 DNSPod 成立 15 周年! 先看看, 这一年我们都做了什么改变? 15 年不间断服务,更值得信赖。 感谢您对 DNSPod 一直以来的支持。 当然, “骨折”代金券怎么少的了! 免费领取 >>> 最后, 顺手抽个奖,阿D带回家~ 您已获得 5 次 抽奖机会 立即抽奖 >>> 下一年, 你希望看到什么样子的 DNSPod ? 「 说一说,你心目中的 DNSPod 」 好看的人都「在看」↓ 
腾讯云DNSPod团队
2020/06/22
6560
SSH 尝试攻击是什么样子的
由于我的工作与安全软件设计以及政府合规性密切相关,我会不断地告诉自己:“如果它不安全,你最终会被黑客攻击”。但实际上,被黑客攻击是怎样一种情况?如果我设置一个服务器,并且不使自己成为一个明显易受攻击的目标(即不会出现在常见的 shodan.io 搜索中),这样,会发生什么事呢?
未来守护者
2018/07/23
1.8K0
SSH 尝试攻击是什么样子的
Python中存在的继承是什么样子的???
👨‍🎓作者:Java学术趴 🏦仓库:Github、Gitee ✏️博客:CSDN、掘金、InfoQ、云+社区 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。 ☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的! 👋大家好!我是你们的老朋友Java学术趴。今天给大家分享一下Python中的继承,大家可能都知道Java中存在继承,但是Java中的继承是单继
Java学术趴
2022/06/12
7010
Python中存在的继承是什么样子的???
语音助手是什么?未来的语音助手是什么样子的?
从字面上看,语是说话,音是声音,助手是辅助的意思,合起来就是说话声音辅助,人与人之间交流可以通过语音即可完成沟通交流,不需要助手,然而,人和设备之间的语音交流,由于人和设备构造的不同,就必须给设备安装一个语音助手,帮助设备理解人的说话的意思,设备才会正确执行人的语音的命令。所以,语音助手怎么理解人说的语音内容,就非常重要,目前市面上的语音助手,可以理解简单的人的语音内容,稍微复杂点,容易搞出笑话或者不执行,比如,我想和某人说话,设备就无法理解了,改成我想给某人打电话,它就能帮您启动打电话给某人,对此,语音助手是一个比较低智能化,具备有限能力,减少人动手操作并安装在设备上的软件。
用户8739405
2021/06/18
2.2K0
Java 的流程控制是什么样子的
这个顺序基本不能调换,你不能在打开冰箱门之前去取苹果。按顺序来控制,这是一种流程。
蜗牛互联网
2021/06/24
1.6K0
【壹刊】Azure AD B2C(一)初识
  上一节讲到Azure AD的一些基础概念,以及如何运用 Azure AD 包含API资源,Azure AD 是微软提供的云端的身份标识和资源访问服务,帮助员工/用户/管理员访问一些外部资源和内部资源:
老张的哲学
2022/04/11
2.3K0
【壹刊】Azure AD B2C(一)初识
几年后的 JavaScript 会是什么样子?
前言 最近看到了一些很有趣的 ECMAScript 提案,如 Record 与 Tuple 数据类型,借鉴自 RxJS 的Observable,借鉴自函数式编程的 throw Expressions,
ConardLi
2021/10/19
9010
几年后的 JavaScript 会是什么样子?
云数据仓库是什么样子的?
当数据仓库可以处理非结构化数据,而数据湖可以运行分析时,组织如何决定使用哪种方法?这取决于其需要采用数据回答新问题的频率。 传统上,数据仓库收集来自组织业务的所有结构化数据,因此组织可以将其集成到单个
静一
2019/07/17
2.3K0
云数据仓库是什么样子的?
ES 查询检索数据的过程,是什么样子的?
https://www.elastic.co/guide/en/elasticsearch/reference/7.9/modules-node.html#coordinating-node
程序员小航
2020/11/23
2.2K0
ES 查询检索数据的过程,是什么样子的?
云安全是什么样子的?其工作原理是什么?
云计算彻底改变了数据存储的世界,它使企业可以远程存储数据并随时随地从任何位置访问数据。
网络技术联盟站
2022/06/17
9800
云安全是什么样子的?其工作原理是什么?
经常提到的KEGG数据库是什么样子的
KEGG(Kyoto encyclopedia of genes and genomes, )(https://www.kegg.jp/)是系统分析基因功能、 基因组信息的数据库,它整合了基因组学、生物化学以及系统功能组学的信息,有助于研究者把基因及表达信息作为一个整体网络进行研究。
医学数据库百科
2020/10/26
2.1K0
经常提到的KEGG数据库是什么样子的
好的领域模型应该是什么样子?
模型和领域模型是两个概念,模型可以是数据模型或服务模型,领域模型是以领域为核心的模型,是对领域知识严格组织和抽象得来的。
春哥大魔王
2023/03/22
6660
好的领域模型应该是什么样子?
查看deepSEA中GitHub上代码的数据是什么样子的
C:\Users\Admin>python Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Warning: This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load.
bye
2021/12/07
5530
一份合格的VOC(客户之声)调查是什么样子的?
VOC(客户之声)是一种研究技术,它描绘出客户的详细愿望和需求。简而言之,它意味着倾听客户对产品或服务的看法。例如,倾听客户的意见可以帮助你创造最佳的客户体验。
用户9972271
2023/01/09
3660
一台优秀的GPU服务器是什么样子的?
到年底了,又到了各大高校开始动手采购GPU服务器的时候到了,最近不少学生在QQ上请我们帮忙看看配置
GPUS Lady
2019/12/10
7K0
一台优秀的GPU服务器是什么样子的?
一个完整的分布式追踪系统是什么样子的
现代分布式链路追踪公认的起源,是 Google 在 2010 年发表的论文《Dapper : a Large-Scale Distributed Systems Tracing Infrastructure》,这篇论文介绍了 Google 从 2004 年开始使用的分布式追踪系统 Dapper 的实现原理。
燃192
2023/04/11
3820
一个完整的分布式追踪系统是什么样子的
大家在寻找的高级程序员到底是什么样子的?
我们的中国文化,对“面子”看的特别重,所以你会发现身边到处都是高级XXX,听着倍儿有面子,程序员也不例外。
纯洁的微笑
2019/10/15
8880
2021-01-05:mysql的自增id的实现逻辑是什么样子的?
答案来自这个链接: 每日一面 - mysql 的自增 id 的实现逻辑是什么样子的?
福大大架构师每日一题
2021/01/05
5200
每日一面 - mysql 的自增 id 的实现逻辑是什么样子的?
MySQL InnoDB 引擎默认主键索引是 B+ 树索引,也是聚集索引,为何叫聚集索引呢?
干货满满张哈希
2021/04/12
6220
每日一面 - mysql 的自增 id 的实现逻辑是什么样子的?

相似问题

Azure AD B2C TOTP样品

11

使用带有Azure AD B2C的“”Azure订阅

15

带有B2C认证的Azure函数

12

带有OWIN的Azure B2C SSO

12

Azure Web应用程序架构是什么样子的?

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文