0

所以假设我正在使用一些外部 API,我需要向它发送一个 ID 和密码,例如http://whatever.com/api?id=asdfg&key=_hjkl&request=whatever

我将需要将该 ID/密钥存储在某处,并且我可以通过将其放入数据库或其他东西来避免将其暴露给用户,但每当请求实际被取消时,就无法隐藏它?

4

2 回答 2

1

不,没有。

如果您希望客户端针对服务进行身份验证,则客户端必须具有身份验证凭据。你给客户的任何东西,你也给客户的用户。

如果您想添加某种保护,请通过您自己的服务器代理它或使用限时令牌 - 但请记住,任何人仍然可以点击适当的端点以获得访问权限。

如果您正在向客户端提供数据,那么您正在运行一个公共 API,最好按照这些术语来考虑它。

于 2013-07-16T16:46:48.807 回答
0

如果 api 提供了 POST 方法,您可以使用它,而无需显示参数。

使用 POST 方法隐藏 URL 参数

于 2013-07-16T16:49:03.143 回答