2016-03-27 34 views
0

我有一个基于无状态头的身份验证API端点。我想建立我的网站,将要求它的数据。作为一个无状态身份验证,并考虑到服务器不维护任何会话的事实,我将如何去实现同样的登录流。我正在构建一个AngularJS SPA,并将在我的应用程序中使用多条路线。处理生产级服务的身份验证的最佳方式是什么?我遇到了AngularJS cookies,但它并不是真的那么安全(我担心可能会发生Cookie劫持)。我在这里有什么选择?任何帮助将非常感谢,因为我完全陌生的登录流。使用Angular JS登录流程

我将通过SSL发送标题,原因很明显。但是我这样做容易受到攻击? https://security.stackexchange.com/questions/988/is-basic-auth-secure-if-done-over-https这里指出了一些弱点,但我如何克服这些缺陷?任何帮助将非常感激。 PS:我知道现在有更好的方法通过在服务器端进行修改来实现它,但是如果我正在考虑当前所有方法的工作情况(如上所述),我将如何处理它?

回答

1

我会建议使用JSON Web令牌(https://en.wikipedia.org/wiki/JSON_Web_Token)....检查出https://github.com/auth0/angular-jwt为即时可用的Angular解决方案。你只需要设置服务器端的一部分。

+0

但是,如果我正在考虑坚持不改变我的服务器功能的方式,由于其他依赖项,我将不得不最终修改,我将如何处理这个? – Kakarot

+0

实现一个服务器端JWT系统并不难,实际上有几个库可用于PHP,ASP和其他很容易设置的库。所有你需要做的就是为你的API创建一个新的端点来处理JWT登录和验证,不需要修改你的服务器端应用程序,只需将JWT系统连接到你的数据库,你就可以很好地进行(需要一些调整) 。 – Iansen