【发布时间】:2016-12-27 17:55:09
【问题描述】:
我正在构建以下内容:
- JavaScript 单页应用程序;
- Node.js 后端公开 RESTful API,用于存储用户数据;
用户凭据(电子邮件/密码)可以通过单页应用程序创建并存储在后端。无需与外部提供者交互,例如Facebook Login,,但将来可能需要。
一旦用户使用其凭据进行身份验证,单页应用程序应通过其 RESTful API 与后端交互。
我正在努力了解如何基于凭据以既安全又与单页应用程序的约束兼容的方式设置用户身份验证和授权。
我找到了有关 OAuth 2.0 和 JSON Web 令牌 的信息。我无法想象我应该如何使用这些技术来实现我的最终目标,无论它们是应该协同工作还是独立工作,我正在努力意识到每种技术所带来的陷阱。
您能否提供为具有自定义后端的单页应用程序构建成功的身份验证/授权机制所需的步骤和组件的演练,如果可能的话,还包括以下主题:
- 与 JWT 或其他方法相比,使用 OAuth 2.0 的优点/缺点;
- 使用 cookie 而不是以不同的方式存储令牌(例如 LocalStorage)和安全隐患;
【问题讨论】:
标签: security authentication oauth authorization jwt