使用AngI中的PKI进行身份验证

时间:2016-10-24 13:23:20

标签: javascript angularjs authentication pki

我正在努力尝试使用PKI在AngularJS应用程序中进行身份验证。我见过的所有问题和示例都使用登录/密码来显示身份验证。但是,我在Intranet上运行,我们一直使用PKI密钥。我已经在线阅读了各种建议,但似乎没有人讨论我的特定架构。

Angular端包含多个页面/控制器,我无法控制用户首先访问哪个页面。我需要每页的授权信息。

应用程序使用NodeJS REST服务进行设置,以根据用户的公钥(通过证书传递)获取用户的授权和其他信息。由于NodeJS服务必须联系外部服务器,我只想调用一次,并保留一个authorizedUser对象(可能在rootScope中?)

我已经考虑过创建服务,提供商等等。但似乎没有人能够应对这一挑战。总结一下:

  • 使用PKI证书授权,而非登录/密码
  • Certs曾用于访问NodeJS REST服务,但只能调用一次
  • 多个角度控制器/页面需要授权信息

这里最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

好的 - 我明白了。我的方法是将webservice调用放在module.run()中的NodeJS后端,并在$ http.get()。success()块中设置$ rootScope。 NodeJS后端从webservice调用获取证书,并完成它需要执行的查找。

我不确定这是否是最好的方法,但它现在有效。