我正在尝试找到一种处理以下情况的好方法(我对此还是有点陌生):
用户可以使用 RPX/OpenId 提供程序通过我的站点进行注册。
第 1 步:用户通过提供者进行身份验证。提供者将一个临时令牌返回给我的一种操作方法。
第 2 步:我使用令牌获取用户的个人资料信息并加载允许他们输入任何缺少的必填字段和可选字段的视图。
我在第 2 步中使用了 2 种操作方法:一种使用令牌来处理信息的获取。获取授权信息并加载缺失/可选字段视图的第二个操作。
我通过 TempData 将授权信息传递给第二个操作。第二个操作可以处理验证,因此我有可能需要保留授权对象来处理超过 1 个请求。我不能使用令牌来重新生成授权信息,因为它在技术上是一次性令牌,并且重新生成请求会很愚蠢,因为它正在使用网络资源。
对于同一操作的任何后续请求,我如何将对象保留在我的 TempData 中,但删除任何重定向的对象?由于这在我的应用程序中可能是可重复的模式,我应该创建一个过滤器来自动处理这种情况吗?
例如,我想象一个过滤器属性,它将 TempData(如果有的话)合并到 ViewData - 但是我如何将我的数据保存到未来对同一操作的调用中?再次将其放入 TempData 中?如果我检测到重定向清空 TempData?
谢谢