Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security Api首页和单页应用程序_Security_Rest_Web_Oauth_Single Page Application - Fatal编程技术网

Security Api首页和单页应用程序

Security Api首页和单页应用程序,security,rest,web,oauth,single-page-application,Security,Rest,Web,Oauth,Single Page Application,我正在构建一个单页应用程序和一个RESTAPI来处理来自客户端和任何可能的第三方客户端的请求 我的想法是创建三台服务器: A-API,基于OAuth B-包含html/css/js文件+部分/视图的静态 C-web服务器节点或python或处理登录的任何东西 可能是第四个,处理与Redis或其他任何东西的会话 我希望SPA让用户注册和/或登录到服务器C,给他一个访问令牌,让他直接与API A对话 我的问题是什么是处理这一问题的正确机制 要将会话cookie(其中包含访问令牌)设置到主应用程序客户

我正在构建一个单页应用程序和一个RESTAPI来处理来自客户端和任何可能的第三方客户端的请求

我的想法是创建三台服务器:

A-API,基于OAuth B-包含html/css/js文件+部分/视图的静态 C-web服务器节点或python或处理登录的任何东西 可能是第四个,处理与Redis或其他任何东西的会话

我希望SPA让用户注册和/或登录到服务器C,给他一个访问令牌,让他直接与API A对话

我的问题是什么是处理这一问题的正确机制

要将会话cookie(其中包含访问令牌)设置到主应用程序客户端SPA,以便它可以在会话存在期间与REST API通信 为了避免创建服务器C和在服务器A中处理身份验证,那么第三方服务呢? 还有别的吗?
我的问题有点混乱,所以请随意问我更多细节。

你基本上描述的是一个票务系统,只是你把票称为代币。多年来,不同的标准化协议以不同的方式处理了这个问题。麻省理工学院开发的一个非常流行且开放的标准是

如果可能,我强烈建议使用现有协议和现有实现。尝试使用自己的安全性是非常非常困难的,通常会导致一个易受攻击的应用程序。与*nix系统相对安全的声誉相比,想想这些年来困扰微软的瘟疫:-

我的第一种方法是采用Kerberos或其他类似协议。如果你一意孤行,那么越简单越好。我会选择第二个解决方案,并放弃服务器C。当让不同的服务器执行身份验证时,有太多的错误空间


我知道这并不是你希望得到的答案,但我希望它能有所帮助。

我不久前问了一个类似的问题,但没有得到太多反馈:-我建议从简单开始……是的,我已经看到了这个问题,还有很多问题,但遗憾的是,我听上去不够清楚。你说的更简单是什么意思?先把OAuth放在一边。。。也许您可以使用刚刚签名的请求?我不一定要设置票务系统,但这是一种处理系统身份验证的好方法。我刚刚发现了单页应用程序的世界,我想知道如何处理安全性和身份验证。谢谢你的回答,顺便说一句: