adb2c {Context:KMSI} всегда ложно
Я пытаюсь вернуть флажок «Запомнить меня», выбранный в качестве утверждения в Access_token. Настройка этого параметра в техническом профиле входа:
<OutputClaim ClaimTypeReferenceId="kmsi" AlwaysUseDefaultValue="true" DefaultValue="{Context:KMSI}"/>
Однако значение всегда возвращается False. Я вижу в журналах b2c-appinsight, что функция «запомнить меня» была проверена:
«Вид»: «HandlerResult», «Содержание»: { «Результат»: true, «Statebag»: { «Complex-API_RESULT»: { «IsCancelled»: «False», «IsErrored»: «False», «IsContinue» : "True", "IsAlternate": "False", "rememberMe": "true",....
Может кто-нибудь помочь, почему Context:KMSI всегда возвращается как false?
Спасибо
2 ответа
Чего бы это ни стоило, сегодня я столкнулся с той же проблемой. После некоторого времени копания выяснилось, что значение Context:KMSI разрешается на более позднем этапе, в разделе выходных утверждений RelyingParty. Поэтому вместо использования Context:KMSI в самоутверждаемом техническом профиле я просто устанавливаю значение в выходных утверждениях проверяющей стороны следующим образом:
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpOrSignIn" />
...
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
...
<OutputClaim ClaimTypeReferenceId="ContextKMSI" DefaultValue="{CONTEXT:KMSI}" />
...
</OutputClaims>
Вы добавили:
<Metadata>
...
<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
</Metadata>