我创建了一个我希望公开的第三方API(REST),但只允许从特定域访问。如何执行域特定的身份验证/授权?
例如,我在域上运行api说mydomain.com并且我想创建一个调用此api的JS小部件,但该小部件用于另一个域,例如otherdomain.com。我如何确保只有otherdomain.com可以访问我的api,并且无法通过saydodo.com来访问它。
我可以使用api-key来验证api,但我不确定这是否足够安全,因为任何有权访问otherdomain.com源的人都可以复制脚本和api-key并尝试访问api直。我怎样才能避免这种安全漏洞。
使用像Oauth2这样的机制可能没有帮助,因为在这种情况下没有用户参与,因此无法通过获取用户凭据来进行用户身份验证。
另一个想法是检查原始标题,但它可以简单地使用我想的一些重置客户端进行模拟(或者在这种情况下我错了)?
请提出一些建议来解决这个问题。