我正在使用Angularjs和Node.js(特别是hapijs)创建一个应用程序。
我正在尝试为这样的RESTful类型的架构确定一个良好的身份验证和授权策略。
我花了很多时间阅读网络,我想出了一个关于我建议为我的应用做什么的图表。我想知道这个模型中是否有任何明显的漏洞,或者我能做些什么来使它更安全。
这假设所有流量都在SSL上运行。我目前也不能使用SAML或OAuth或类似内容,因为这是内部应用程序。
答案 0 :(得分:2)
在第二个图中,使用403表示授权错误,使用401表示未经身份验证 - 这样客户端就可以知道在处理错误时采用哪条代码路径。
目前尚不清楚第一张图显示的是什么 - 如果浏览器请求HTML页面,则需要返回重定向而不是401 ...浏览器将不知道如何处理401.如果这是一个调用某些/ login API,没关系。
答案 1 :(得分:0)
你在服务方面用的是什么?这一切都直接在MongoDB中吗?如果没有,您的应用程序层几乎肯定会有比您能够编写的更好的会话管理。我强烈建议您在尝试编写自己的平台之前先调查一下平台提供的内容。