Обработчик претензий OAUTH-KV в AAD B2C не работает

Я пытаюсь использовать OAUTH-KV Обработчик утверждений для извлечения значения параметра с именем foo, переданного в конечную точку authorize пользовательской политики AAD B2C в качестве утверждения, также называемого foo.

foo ClaimType определяется как

<ClaimType Id="foo">
  <DisplayName>Foo debug claim</DisplayName>
  <DataType>string</DataType>
  <UserInputType>TextBox</UserInputType>
</ClaimType>

и TechnicalProfile как

<TechnicalProfile Id="LocalAccount-Register">
  <DisplayName>Register</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ContentDefinitionReferenceId">api.localaccount.registration.prescribedfirm</Item>
    <Item Key="IpAddressClaimReferenceId">IpAddress</Item>
    <Item Key="language.button_continue">Create</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
  </CryptographicKeys>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="foo" DefaultValue="{OAUTH-KV:foo}" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="foo" Required="true" />
  </OutputClaims>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>

Однако значение foo отображается как {OAUTH-KV:foo}, а не фактическое переданное значение.

Я полагаю, что выполнил инструкции из документации.

Есть ли что-то еще, что мне нужно сделать, чтобы это сработало?


РЕДАКТИРОВАТЬ

Документация, относящаяся к устройствам разрешения претензий, была обновлена ​​25 января 2019 г. здесь https://docs.microsoft.com/en-us/azure/active-directory-b2c/claim-resolver-overview, согласно которому это должно работать.

Я не могу заставить любой преобразователь утверждений отображать что-либо, кроме разметки, то есть {Context:CorrelationId}, {OIDC:LoginHint} и т. Д.

Кто-нибудь знает, нужны ли какие-нибудь магические Metadata значения, чтобы это работало?

Я уверен, что делаю что-то не так, что-то упускаю, но не могу понять, что именно.

Любые полезные указатели приветствуются.


person rjb    schedule 26.10.2018    source источник


Ответы (2)


Резолверы утверждений работают только в определенных технических профилях, которые являются REST API и SelfAsserted (объединенная регистрация и определение содержимого входа в систему на этапе оркестровки). Это явно работает только в примерах, приведенных в документе.

person Jas Suri - MSFT    schedule 29.07.2019

Я знаю, что уже поздно. См. Мой ответ здесь

Вам необходимо настроить метаданные технического профиля и установить свойство AlwaysUseDefaultValue входящего утверждения.

person Alex    schedule 15.01.2021
comment
Добавление <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item> - вот что сделало это. Он скрыт в документации в конце этого раздела: docs.microsoft.com/en-us/azure/active-directory-b2c/ - person Jon McEroy; 19.02.2021