我正在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的重点是什么?
谢谢。
答案 0 :(得分:5)
OAuth和JWT使用令牌,而不是密码。每个应用程序和站点都会唯一生成令牌。如果有人窃取了令牌,他们就没有窃取您的密码,而且该令牌仅适用于该会话。
将此与基本身份验证进行对比,这是一个实际的用户密码。他们不仅可以随时重复使用该密码,还可以将该密码与使用相同密码的任何其他服务一起使用。窃取令牌不允许这样做。