首页 文章

用于创建用户的REST会话工作流

提问于
浏览
0

我正在开发一个C#WebApi / MVC项目,该项目具有相当大的工作流程,用于创建用户并放置他们所需的信息 . 涉及大约10个主要步骤,其中技术上可以花费用户数小时来填写 .

第一步采用标准的基本信息,如用户名,密码,电子邮件,姓名,地址等 .

我想要做的是在第一步成功之后,发送一个休息调用,在用户表中创建基本用户,然后准备一个会话,以便在接下来的步骤填写任何字段时的后续步骤,它会自动发送ajax调用并更新数据库中的字段 .

虽然这在理论上使用会话(我可以在MVC中完成)听起来简单易行,但我希望在RESTA的WebApi中执行此操作,其中REST应该是STATELESS .

有没有人遇到类似的问题,如果有的话,他们推荐什么作为一种方法?我目前可以想到的选项是:

  • 为此过程删除标准MVC的REST,并将WebAPI仅用于Read而不是Writes,因为唯一的Write过程是用户/帐户的初始创建 .

  • 使用身份验证令牌?但这可以成功处理这个过程吗?

  • 创建用户后,将每个REST调用的用户名/密码作为WebAPI的身份验证?将用户/密码存储在MVC会话中并直接从MVC调用API,移动应用程序只会将用户名/密码存储在应用程序中并调用WebAPI(我认为这是最合适的)

任何人都可以告诉我这些选项是否是最佳实践,或者是否有人有更好的最佳实践/流程?我希望尽可能多地编写一些内容来覆盖Web和Mobile,而不是必须复制进程 .

提前致谢!!!

1 回答

  • 0

    我会考虑修改常规的WebAPI OWIN寄存器流程 .

    • 收集基本用户信息并通过Ajax发布到Web API . 如果成功 - 将OWIN令牌发送回HTTP头中的调用者 .

    • 继续执行用户信息更新的额外步骤(例如,通过HTTP PUT)并将令牌放入authenticate标头中 . 使用“授权”属性标记WebAPI更新过程 .

    这个blog post可以帮助设置WebAPI以发布和接受承载令牌 .

相关问题