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
只需在HTTP头中发送一个密钥来验证REST调用?_Rest_Security_Spring Security - Fatal编程技术网

只需在HTTP头中发送一个密钥来验证REST调用?

只需在HTTP头中发送一个密钥来验证REST调用?,rest,security,spring-security,Rest,Security,Spring Security,我的网站上有一些REST服务,可供第三方访问。 我的计划很简单。为了调用这些服务,他们需要向我请求密钥。我会私下给他们一个GUID。对我的任何服务的每次调用都将通过过滤器检查密钥的标题,并相应地接受/拒绝请求。 此站点全部为HTTPS,因此密钥将在传输过程中加密。我并不担心授权客户可以在视觉上识别密钥。换句话说,我不担心任何形式的“内部”攻击或共享密钥的人。我只是不想要随机的、未经授权的外部用户 我环顾四周,我真的没有看到有人这样做。我觉得我太简单了。。。但另一方面,我也看不出有什么问题 我的问

我的网站上有一些REST服务,可供第三方访问。 我的计划很简单。为了调用这些服务,他们需要向我请求密钥。我会私下给他们一个GUID。对我的任何服务的每次调用都将通过过滤器检查密钥的标题,并相应地接受/拒绝请求。 此站点全部为HTTPS,因此密钥将在传输过程中加密。我并不担心授权客户可以在视觉上识别密钥。换句话说,我不担心任何形式的“内部”攻击或共享密钥的人。我只是不想要随机的、未经授权的外部用户

我环顾四周,我真的没有看到有人这样做。我觉得我太简单了。。。但另一方面,我也看不出有什么问题

我的问题是。。这听起来足够安全(从基本/最低的角度来看),还是暴露了一些我没有看到的安全漏洞

我正在使用Spring框架,包括SpringSecurity4


谢谢

如果它是HTTPS,并且API密钥在传输过程中如您所述在头中加密,那么它遵循一个非常标准的设计认证模式

您的安全性现在取决于您如何分发和存储API密钥

不过,您可以使用“”方法

而API密钥模式结合了应用程序的标识 而一个令牌中的秘密使用令牌,该模式将 两个。每个使用API的应用程序都会发出一个不可变的初始值 称为应用程序ID(应用程序ID)的标识符。应用程序ID为 恒定的,可能是也可能不是秘密。此外,每个应用程序 可能有1-n个应用程序密钥(应用程序密钥)。每个键都是关联的 直接使用App_ID,应视为机密


以防万一您希望在将来扩展应用程序。

听起来像是一个基本的API密钥实现,等等。我会检查。是的。对不起,我的原始信息不清楚。我已经准备好了。它是活的,运作良好。我的问题更多的是关于。。它听起来足够安全(从基本/最低的角度来看),还是暴露了一些我没有看到的安全漏洞?我会更新原来的帖子。酷,这是一个非常常见的模式,有时候最小的方法是最好的。我已经提交了一个答案,其中包含了可以使用的其他方法。