在创建具有角度的应用时,身份验证是否完全不同?

时间:2017-04-29 22:16:29

标签: angularjs authentication

在常规网络应用中,当有人登录系统时,他们只需保存一个加密的cookie,该cookie在每个请求上发送,后端解密cookie并使用例如user_id / guid来查找用户。

使用角度应用进行身份验证时,情况有何不同? 还有什么需要考虑的,或者基本上是相同的过程吗?

1 个答案:

答案 0 :(得分:0)

我们使用或多或少相同的机制。

  • 整体访问应用程序需要身份验证 - 除非您已登录,否则您根本无法获得任何javascript体验。这可能会使登录/登录失败对用户的影响更小,但在我们的身份验证提供程序中它很好。
  • 我们的auth机制的一部分意味着用户拥有的角色列表是浏览器中可用的数据对象。 javascript代码使用它来决定显示哪些按钮/菜单等。我和我们的安全人员进行了核实,他说了类似于"嗯,这是一种直接的对象引用问题,但只要每个动作都得到正确的授权,你就可以了。&#34 ;因此,用户可能会破解数据值并改变他们可以看到的内容,但由于下一位,他们无法破坏我们的数据(或者看到他们不应该这样做的东西)。
  • 我们的javascript make的每个服务调用都经过身份验证和授权。也就是说,如果auth令牌丢失或错误,javascript调用将失败,而且,我们在内部将auth令牌与用户和一组权限进行匹配,并且只有在用户被授权的情况下才执行该操作。 (请注意,无论您是否使用Angular,这都是很好的做法)。另请注意,这适用于GET和POST - 我们不希望提供他们不应该看到的数据。

如果您的API与Angular站点分开托管,则会变得更加棘手。