我建立如下:安全验证/在一个单页的应用程序授权
- 一个JavaScript单页应用;
- 一个Node.js后端暴露了一个RESTful API,它将存储用户数据;
用户凭证(电子邮件/密码)可以通过单页应用程序创建并存储在后端。没有必要与外部提供商进行交互,如Facebook Login,,但未来可能需要。
一旦用户使用其凭证进行身份验证,单页应用程序应通过其RESTful API与后端进行交互。
我竭力要了解如何建立基于证书的用户认证和授权,以一种既安全,又具有单页应用程序的约束兼容。
我发现有关OAuth 2.0的信息和JSON Web令牌。我无法想象我应该如何使用这些技术来实现我的最终目标,无论它们应该一起工作还是独立工作,并且我正在努力意识到每个工作带来的缺陷。
你能提供的,以建立一个成功的认证/授权机制,单页应用程序使用自定义后端所需的步骤和部件步行通过,如果可能包括以下内容还有:
- 与JWT或其他方法相比,使用OAuth 2.0的好处/缺点;
- 使用Cookie而不是以不同方式(例如LocalStorage)存储标记和安全隐含;