[英]How Can I Authenticate Users of my API
我共同拥有的一个网站已被要求我们向我们的网站添加一些内容,这对我们来说是一个很好的广告。 问题在于,由于我们公司的性质,我们必须非常小心谁可以访问我们的网站。 (我们向广播电台分发标签音乐)
至今为止?
因此,我为内容启动了一个新页面。 我想我想拥有某种带有调用站点名称的哈希字符串,用于我们站点的密钥以及可能是日期,并经过加密并包含在从调用站点发送的查询字符串或cookie中。 目的是防止从其他站点(它们的站点也受密码保护)调用此方法,包括DNS欺骗,以欺骗我的站点以使其认为是从该站点请求的。
所以我认为这是一个很好的解决方案。
我建议使用公钥加密。 为每个用户生成一个公共密钥,然后将其发送给他们,并为记录创建一个私钥。
他们应该将当前时间与其他自识别信息(例如IP地址)一起加密。 然后,当您收到握手时,您可以使用私钥对其进行解密,然后验证时间是否相隔不远,IP地址是否正确等。
您可以要求SSL连接,并从服务器中分发证书,您需要客户端用来验证其身份的证书。 这将是最简单的方法。
编辑
对我来说,我不确定您是否担心某人试图使用他人的帐户,或者是否应该以域为基础来支付您的服务费用。
您确实无法避免后者,因为任何有足够决心的人都可以简单地创建自己的API,以在有效的上下文中与您的API交互,并从他们希望将信息传播到的任何其他站点进行调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.