繁体   English   中英

如何验证我的API的用户

[英]How Can I Authenticate Users of my API

我共同拥有的一个网站已被要求我们向我们的网站添加一些内容,这对我们来说是一个很好的广告。 问题在于,由于我们公司的性质,我们必须非常小心谁可以访问我们的网站。 (我们向广播电台分发标签音乐)

至今为止?

因此,我为内容启动了一个新页面。 我想我想拥有某种带有调用站点名称的哈希字符串,用于我们站点的密钥以及可能是日期,并经过加密并包含在从调用站点发送的查询字符串或cookie中。 目的是防止从其他站点(它们的站点也受密码保护)调用此方法,包括DNS欺骗,以欺骗我的站点以使其认为是从该站点请求的。

所以我认为这是一个很好的解决方案。

  1. 是吗? 如果没有,我应该怎么做呢?
  2. 我该怎么办? 我想我会在他们网站的iFrame内调用API,并将源作为我的网站,并在页面中添加查询字符串,但是我应该如何获取调用网站的网址? 我应该使用什么来加密查询字符串密钥?

我建议使用公钥加密。 为每个用户生成一个公共密钥,然后将其发送给他们,并为记录创建一个私钥。

他们应该将当前时间与其他自识别信息(例如IP地址)一起加密。 然后,当您收到握手时,您可以使用私钥对其进行解密,然后验证时间是否相隔不远,IP地址是否正确等。

您可以要求SSL连接,并从服务器中分发证书,您需要客户端用来验证其身份的证书。 这将是最简单的方法。

编辑

对我来说,我不确定您是否担心某人试图使用他人的帐户,或者是否应该以域为基础来支付您的服务费用。

您确实无法避免后者,因为任何有足够决心的人都可以简单地创建自己的API,以在有效的上下文中与您的API交互,并从他们希望将信息传播到的任何其他站点进行调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM