Azure B2C `id_token_hint`和自定義策略

在Azure B2C中,通過程序創建用戶后,我想通過電子郵件向用戶發送一個鏈接,以便他們可以設置密碼。我使用我自己的電子郵件提供商,而不是B2C,所以我只需要一個URI,可以包含在我的“歡迎”電子郵件中。

該鏈接需要專門針對他們,這樣當他們點擊它時,他們就不必re-enter他們的電子郵件地址并完成整個email-verification過程。

我使用的是B2C自定義策略,根據文檔,它應該允許我向這個名為id_token_hint的URL添加一個查詢字符串。這是一個self-signed JWT令牌,其中包含我要傳遞給我的策略的聲明(在我的情況下,為email)。

我遵循這兩個鏈接中的指導/指示:

我正在為我的self-signed證書托管.well-known端點,當我進行測試時,可以看到B2C正在調用這兩個端點。

我的問題是,我無法獲得使用我嵌入id_token_hint JWT令牌中的電子郵件的策略。

我有一個技術檔案來消費它。。。

<TechnicalProfile Id="IdTokenHint_ExtractClaims">
    <DisplayName>My ID Token Hint TechnicalProfile</DisplayName>
    <Protocol Name="None" />
    <Metadata>
        <Item Key="METADATA">https://<my-domain>/.well-known/openid-configuration</Item>
        <Item Key="issuer">https://localhost/</Item>
    </Metadata>
    <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="email" />
    </OutputClaims>
</TechnicalProfile>

我從我的用戶旅程中引用了它。。。

<OrchestrationStep Order="1" Type="GetClaims" CpimIssuerTechnicalProfileReferenceId="IdTokenHint_ExtractClaims" />

引用像這樣的user-journey(即使用CpimIssuerTechnicalProfileReferenceId),這就是上面文檔所說的要做的,不允許我在下一個技術概要文件中將該電子郵件作為<InputClaim>添加。然后在嘗試上傳時會出現此驗證錯誤。。。

索賠類型“電子郵件”是依賴方技術檔案的輸出索賠,但在用戶旅程的任何步驟中都不是輸出索賠"DanTest"."

盡管如此,它還是IdTokenHint_ExtractClaims的輸出聲明!

如果我將編排步驟改為這樣。。。

<OrchestrationStep Order="1" Type="ClaimsExchange">
    <ClaimsExchanges>
        <ClaimsExchange Id="IdTokenHint_ExtractClaims" TechnicalProfileReferenceId="IdTokenHint_ExtractClaims" />
    </ClaimsExchanges>
</OrchestrationStep>

然后成功上傳。然而,我收到一個運行時錯誤,上面寫著。。。

試圖為id為"mytenant.onmicrosoft.com"."的租戶的id為"B2C_1A_dantest"的策略中id為{@19}的技術配置文件中不受支持的協議“None”解析協議處理程序

我正在努力尋找下一步該做什么。你知道我做錯了什么嗎?

? 最佳回答:

除了指定ID令牌提示技術配置文件外,您還需要將索賠作為輸入索賠添加到依賴方技術配置文件中:

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUp" />
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <InputClaims>
      <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="userId" />
    </InputClaims>
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="displayName" />
      <OutputClaim ClaimTypeReferenceId="givenName" />
      <OutputClaim ClaimTypeReferenceId="surname" />
      <OutputClaim ClaimTypeReferenceId="email" />
      <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
      <OutputClaim ClaimTypeReferenceId="identityProvider" />
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
  </TechnicalProfile>
</RelyingParty>

Docs: https://learn.microsoft.com/en-us/azure/active-directory-b2c/id-token-hint#configure-your-policy

主站蜘蛛池模板: 国产精品免费一区二区三区| 无码人妻久久久一区二区三区| 亚洲日本乱码一区二区在线二产线| 老熟妇仑乱一区二区视頻| 国产成人精品亚洲一区| 久久久久久人妻一区精品| 亚洲国产激情一区二区三区| 日韩精品一区在线| 亚洲av永久无码一区二区三区| 国产一区二区三区不卡AV| 精品国产香蕉伊思人在线在线亚洲一区二区 | 中文字幕无线码一区2020青青| 国产午夜三级一区二区三 | 人妻少妇精品视频一区二区三区| 亚洲av高清在线观看一区二区| 性色av闺蜜一区二区三区| 久久久老熟女一区二区三区| 久久青草国产精品一区| 视频一区精品自拍| 综合无码一区二区三区| 久久久久一区二区三区| 亚洲国产一区二区三区青草影视 | 一区二区视频在线免费观看| 日韩在线一区视频| 国产在线精品一区二区| 精品一区二区三区在线观看l| 91video国产一区| 精品成人乱色一区二区| 亚洲熟女乱色一区二区三区 | 日韩人妻无码免费视频一区二区三区| 亚洲无圣光一区二区| 亚洲一区二区三区免费视频| 国产精品一区在线麻豆 | 无码国产精成人午夜视频一区二区| 国产成人精品一区二区三区无码| 国产一区二区免费| 久久精品国产AV一区二区三区| 日韩欧美一区二区三区免费观看| 波多野结衣中文一区二区免费| 一区二区在线播放视频| 久久国产免费一区|