У меня есть требование, чтобы получить дату рождения пользователя, чтобы зарегистрироваться только с датой (без времени) - Сценарий 1.
Но в другом потоке сценария в той же политике у меня есть параметр URL (a токен), с помощью которого я буду вызывать REST API и получать информацию о пользователе из другого приложения. В этом случае REST API написан мной для получения сторонних данных и возврата к пользовательской политике b2 c.
Я создал заявку на дату рождения с типом данных "date", и он работает отлично подходит для сценария 1, где он получает дату рождения от пользователя посредством самоутвержденного ввода.
<ClaimType Id="dateOfBirth">
<DisplayName>Date of Birth</DisplayName>
<DataType>date</DataType>
<DefaultPartnerClaimTypes>
<Protocol Name="OAuth2" PartnerClaimType="birth_date" />
<Protocol Name="OpenIdConnect" PartnerClaimType="birth_date" />
<Protocol Name="SAML2" PartnerClaimType="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/birthdate" />
</DefaultPartnerClaimTypes>
<UserInputType>DateTimeDropdown</UserInputType>
<PredicateValidationReference Id="CustomDateRange" />
</ClaimType>
Но для сценария 2 REST API может возвращаться только как DateTime или строка. Когда я пытаюсь выполнить эту политику, где REST API возвращает dateOfBirth в виде строки, то B2 C выдает ошибку, когда REST API возвращает значение - В AppInsights я вижу, что:
Тип данных 'String' заявки с идентификатором dateOfBirth не совпадает с типом данных DateType для ClaimType с идентификатором dateOfBirth, указанным в политике
Если я изменю API REST dateOfBirth на DateTime, то он выдаст :
Тип данных «DateTime» заявки с идентификатором «dateOfBirth» не соответствует типу данных «Date» типа ClaimType с идентификатором «dateOfBirth», указанным в политике .
Может кто-нибудь помочь, пожалуйста?
Заранее спасибо.