Заявка Azure AD B2C Serialize StringCollection в файле cookie - PullRequest
0 голосов
/ 04 марта 2019

У меня есть следующие настройки для моей пользовательской политики B2C:

<TechnicalProfile Id="SM-AAD">
      <DisplayName>Session Mananagement Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.DefaultSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <PersistedClaims>
        <PersistedClaim ClaimTypeReferenceId="objectId" />
        <PersistedClaim ClaimTypeReferenceId="signInName" />
        <PersistedClaim ClaimTypeReferenceId="email" />
        <PersistedClaim ClaimTypeReferenceId="groups" />
        <PersistedClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" />
      </PersistedClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="objectIdFromSession" DefaultValue="true"/>
      </OutputClaims>
    </TechnicalProfile>

Обратите внимание, что одно из постоянных утверждений имеет тип StringCollection <PersistedClaim ClaimTypeReferenceId="groups" />.Исходные значения имеют вид:

"groups": ["guid1", "guid2", "guid3", ...]

Все утверждения сохраняются в порядке в сеансе (cookie), кроме утверждения groups .Вместо правильной сериализации / десериализации значений при следующем запросе токена мы получили следующее в JWT:

"groups": ["System.Collections.Generic.List`1[System.String]"],

Есть ли способ правильно сериализовать утверждение StringCollection тип

...