注册用户并以RESTful方式生成身份验证令牌

时间:2019-01-27 22:10:51

标签: rest authentication backend

我正在为应用设置API。首次打开该应用程序时,用户可以登录或注册。

对于登录,我想到了设置一个端点/tokens,其中请求包含emailpassword,响应包含access_tokenrefresh_tokenexpires_intoken_type(目前始终为Bearer)。通过仅传递refresh_token来获取新的access_token,然后返回相同的属性({{1}除外),可以使用同一端点。看起来还可以,但是吗?

对于注册,事情还不太清楚。我已经建立了一个端点refresh_token,其中请求包含注册所需的所有详细信息。最初,我返回了/users,然后客户端不得不向204发出第二个请求,但是后来我意识到,如果第二个请求失败,则由于创建了用户但登录后,事情可能会卡住没发生然后,我想让后端也生成令牌并以/tokens和与对201的请求相同的有效负载进行响应。但是,由于调用/tokens,返回的资源不是用户,因此感觉不太RESTful。然后,我想也许可以创建令牌并使用/users204标头进行响应,但是问题在很大程度上与第一种情况相似(用户可能会卡住,在这种情况下,如果{{1 }}到该位置失败)。最终,如果我没有在一个事务中执行所有操作(创建用户和令牌),并对此做出响应,我将看不到任何避免“卡住”问题的方法。最好的方法是什么?

0 个答案:

没有答案