Java 第三方API的特定于域的安全性

Java 第三方API的特定于域的安全性,java,rest,api,oauth,restful-authentication,Java,Rest,Api,Oauth,Restful Authentication,我创建了一个第三方api(REST),我想公开它,但只允许从特定域访问它。如何执行特定于域的身份验证/授权 例如,我有一个api在域(比如mydomain.com)上运行,我想创建一个调用此api的JS小部件,但该小部件在另一个域(比如otherdomain.com)中使用。如何确保只有otherdomain.com可以访问我的api,而不能从anotherdomain.com访问我的api 我可以使用api密钥来验证api,但我不确定这是否足够安全,因为任何有权访问otherdomain.co

我创建了一个第三方api(REST),我想公开它,但只允许从特定域访问它。如何执行特定于域的身份验证/授权

例如,我有一个api在域(比如mydomain.com)上运行,我想创建一个调用此api的JS小部件,但该小部件在另一个域(比如otherdomain.com)中使用。如何确保只有otherdomain.com可以访问我的api,而不能从anotherdomain.com访问我的api

我可以使用api密钥来验证api,但我不确定这是否足够安全,因为任何有权访问otherdomain.com源的人都可以复制脚本和api密钥,并尝试直接访问api。我怎样才能避免这些安全漏洞呢

使用类似Oauth2的机制可能没有帮助,因为在这种情况下没有用户参与,因此无法通过获取用户凭据进行用户身份验证

另一个想法是检查origin头,但也可以使用一些reset客户机来模拟它(或者在这种情况下我错了)

请提出一些解决这种情况的想法