【发布时间】:2018-09-22 09:58:45
【问题描述】:
我正在尝试实现 JWT 身份验证和授权,但是我担心 JWT 在前端部分被篡改。我现在让后端工作顺利且安全。现在我在 Angular 5 中实现 JWT 授权和身份验证。我是实现 JWT 令牌的初学者,所以请耐心等待,希望你们能对此有所了解。
我知道,每当您篡改令牌时,JWT 都会因为签名而失效。然后后端将拒绝处理请求,但是假设前端有以下场景:
1 - 邪恶用户使用普通帐户登录并从后端接收 JWT 令牌。
2 - 恶意用户通过向有效负载添加额外的“管理员”角色来篡改 JWT 令牌(这会使 jwt 无效)
3 - 邪恶用户尝试访问持有被篡改的 JWT 令牌的受保护路由
4 - 路由守卫检查令牌是否过期(通过检查有效负载中的过期声明?)
5 - 用户决定再次篡改 JWT 以增加 JWT 过期声明(根据后端 JWT 令牌仍然无效)
6 - Route 解码 JWT 并看到 JWT 没有过期,并且用户具有管理员角色并允许邪恶用户访问页面并看到呈现的 HTML(后端操作是安全的,因为令牌首先得到验证)
我错过了什么吗?我怎样才能防止这种情况发生?我想阻止用户访问该页面,即使它会半途而废。
【问题讨论】:
标签: angular authentication authorization jwt