У меня есть установка приложения с промежуточным программным обеспечением Stormpath для аутентификации. У меня также есть настройка учетной записи, чтобы использовать группу для каждой модели организации. Похоже, что логин и все, но я боюсь найти разумный способ получить идентификатор организации или базу имен у пользователя, который вошёл в систему.Извлечение организации пользователя в Stormpath в .Net Core?
С ссылкой Stormpath.SDK.Account я могу сделать что-то вроде :
private readonly IAccount _account;
var name = _account.FullName;
Я бы ожидать что-то подобное, чтобы быть доступным для получения организацией, но я ничего в их справочнике SDK не найти. До сих пор я пробовал:
Извлечение организации из моего требования. This looks like it'll be available via the "onk" claim, но я не вижу, что в качестве опции при просмотре свойств _claim от следующего кода:
ClaimsPrincipal _claim = new ClaimsPrincipal(User.Identity);
var OrganizationId = _claim.FindFirst("onk").Value;
Я также не вижу способ извлечения организации из заголовка. Это appears that Host is available in the header, но SDK для Core, похоже, не позволяет мне это получить.
В идеале, я хотел бы, чтобы пользователь мог войти в систему без указания своего арендатора как субдомена или поля в форме входа. Поскольку он будет проходить через магазины моей организации, я ожидаю, что это будет возможно.
Любые идеи о том, что мне не хватает?
Это на самом деле прецедент, который я разрабатываю и работаю прямо сейчас (я являюсь автором SDK Stormpath). Именно поэтому я правильно понимаю ваш случай: вы не укажете Организацию во время входа в систему (разрешите входной поток по умолчанию через Orgs) и хотите позже получить организацию пользователя? –
Да. Например, если бы я должен был запустить мою систему входа в систему с многопользовательской арендой, я бы ожидал, что у Организации будет много отношений с моими учетными записями пользователей. Аналогично, у пользователя будет одно или несколько отношений с организацией. Таким образом, я мог бы выполнить Account.OrganizationId, чтобы управлять столбцом TenantId в моей собственной базе данных. В настоящее время похоже, что я могу получить это из заголовка хоста в .NET. Однако я не понял, как передавать эту информацию через стандартную/регистрационную форму. –
А, сначала пропустил часть вашей группы для каждой организации. Просто уточнить: у вас есть ваши арендаторы, смоделированные с использованием ресурса Stormpath Group? –