Нет пути. Для создания .ipa у вас должен быть Mac и Xcode (кроме expo)
Возможно, Вы могли создать свой "ExtendedWindowsPrincipal" как производный класс на основе WindowsPrincipal и просто добавить Ваши дополнительные данные к производному классу?
Тем путем Ваш ExtendedWindowsPrincipal был бы все еще распознан где угодно, где WindowsPricinpal необходим.
ИЛИ: так как Вы говорите об использовании аутентификации Windows, Вы находитесь, вероятно, в сети Windows - там Active Directory или пользовательская база данных где-нибудь, где Вы могли искать свой адрес электронной почты, что Вы интересуетесь вместо того, чтобы хранить его в принципале?
Marc
Я закончил тем, что осуществил рефакторинг свое начальное решение в замену Принципала вместо Идентификационных данных, как я первоначально думал. Замена Идентификационных данных оказалась неприятной, так как я столкнулся с проблемами безопасности при создании экземпляра нового расширенного WindowsPrincipal.
public class ExtendedWindowsPrincipal : WindowsPrincipal
{
private readonly string _email;
public ExtendedWindowsPrincipal(WindowsIdentity ntIdentity,
string email) : base(ntIdentity)
{
_email = email;
}
public string Email
{
get { return _email; }
}
}
В моем Модуле аутентификации я заменил принципал на HttpContext как это:
var currentUser = (WindowsIdentity)HttpContext.Current.User.Identity;
HttpContext.Current.User =
new ExtendedWindowsPrincipal(currentUser, userEmail);