1

我有一个带有 asp.net core 标识的 asp.net core web api 应用程序。在我的注册页面中,我必须验证用户电话号码。为了做到这一点,我使用了很棒的 twilio。我的注册页面是作为向导构建的。在第二步中,用户验证他的手机,只有在向导结束时,才会请求创建用户。我的问题是twilio代码验证不能使用两次。因此,如果我在第二步中使用它,我将无法再次将它用于真正的创建请求。我需要一种在注册请求发生之前将此电话号码分配给用户的方法。如果不是 web api,Session 可能会很棒。我想过用用户验证的电话号码创建一个安全令牌。此令牌将附加到创建请求并具有到期日期。当用户在第二阶段验证他的手机时,服务器将返回一个带有手机和过期时间的令牌给客户端。这将与创建请求中的用户数据一起发送。我不确定这是正确的方法,如果是这样,我将非常感谢有关如何创建此令牌的一些帮助(我发现的所有示例都是为现有用户创建令牌)

4

1 回答 1

0

多步骤提交过程在 API 场景中是不合时宜的。客户应该能够一次提交所有信息。如果您需要验证电话号码,则应该有一个单独的端点,专门处理该特定功能。

换句话说,客户端应该向“创建用户”端点发布一个帖子,其中包含成功创建用户所需的所有信息,并且应该立即创建用户。然后,客户端将发出单独的请求以验证电话号码。如果您不希望用户在验证电话号码之前能够使用他们的帐户,您可以提出要求,但无论如何都应该保留用户对象。如果您愿意,您可以实施某种维护过程,以在一段时间后清除任何没有验证号码的用户记录。

于 2018-11-12T14:17:43.787 回答