Я пытаюсь найти хороший способ справиться со следующим сценарием (я все еще новичок в этом):
Пользователь может зарегистрироваться через мой сайт, используя провайдера RPX / OpenId.
Шаг 1: Пользователь проходит аутентификацию через провайдера. Поставщик возвращает временный токен одному из моих методов действия.
Шаг 2: я использую токен, чтобы получить информацию о профиле пользователя и загрузить представление, которое позволяет им вводить любые пропущенные обязательные поля и дополнительные поля.
В Шаге 2 я использую 2 метода действий: один для обработки сбора информации с использованием токена. Второе действие, которое берет информацию об авторизации и загружает представление отсутствующих / необязательных полей.
Я передаю информацию авторизации через TempData второму действию. Второе действие может обрабатывать проверку, поэтому есть шанс, что мне нужно будет удерживать объект авторизации более чем для одного запроса. Я не могу использовать токен для регенерации информации авторизации, потому что технически это токен одноразового использования, и было бы глупо регенерировать запрос, поскольку он использует сетевые ресурсы.
Как я могу сохранить объекты в моих TempData для любых последующих запросов к тому же действию, но удалить объекты для любых перенаправлений? И так как это может быть повторяемым шаблоном в моем приложении, я должен создать фильтр для автоматической обработки этой ситуации?
Например, я представляю себе атрибут фильтра, который объединит данные TempData (если они есть) с ViewData. Но как мне сохранить мои данные в будущих вызовах того же действия? Снова закинуть его в TempData? А если я обнаружу перенаправление пустой TempData?
Спасибо