我有两个节点服务器。一种服务于网站,另一种服务于为网站背后的数据提供支持的 RESTful API。
当用户登录网站时,会创建一个会话。然后,这允许我根据用户是否登录为用户提供正确的 HTML。
我的 API 还需要为某些端点识别和授权用户。但是,由于 API 是在不同的服务器上提供的(与创建登录会话的服务器不同),我无法重新使用该会话数据。此外,我希望 RESTful API 是公开的,并且以这种方式重用会话数据可能会阻止这种情况。公开我的意思是从长远来看,我希望允许外部开发人员与他们的 API 请求进行交互和授权。一些端点需要被授权(例如PUT
在User
资源上),而一些端点应该是免费供所有人查看的(公共的;例如GET
在User
资源上)。
这是我的第一个 RESTful API,我以前从未以这种方式处理过身份验证。考虑到这些细节,我应该如何设计我的身份验证层?
我对会话令牌和 OAuth 有一个非常简要的了解,但是如果您有一个涉及其中任何一个的解决方案,我希望能详细解释这些东西如何结合在一起以创建身份验证层。任何帮助我学习各种技术的资源链接也将不胜感激!