为什么不是每次使用Basic Auth代替JWT?

时间:2016-06-25 06:13:54

标签: rest authentication hapijs

我正在Hapi中编写 RESTFUL API ,我无法弄清楚API身份验证方法。

假设我们在HTTP / 1.1中使用SSL / TLS,为什么我们需要像JSON Web Token(JWT)这样的东西,我们已经有 HTTP基本身份验证。我们可以使用 HTTP Basic Auth 保护每个端点,因此我们甚至不需要FieldDefinition field = new FieldDefinition($"${GENERATED_CLIENT_PATH}", FieldAttributes.Private, moduleDefn.Import(typeof(HttpClient)); 等登录路由。

那么,那些认证方案,OAuth和JWT的重点是什么?

谢谢。

1 个答案:

答案 0 :(得分:5)

OAuth和JWT使用令牌,而不是密码。每个应用程序和站点都会唯一生成令牌。如果有人窃取了令牌,他们就没有窃取您的密码,而且该令牌仅适用于该会话。

将此与基本身份验证进行对比,这是一个实际的用户密码。他们不仅可以随时重复使用该密码,还可以将该密码与使用相同密码的任何其他服务一起使用。窃取令牌不允许这样做。