我有一个Wordpress网站,我使用的是使用基本HTTP身份验证的第三方搜索提供程序的API。
当用户在我的网站上搜索时,JS会向第三方搜索提供商提交搜索请求,如果没有请求进行身份验证,则会返回结果。
现在,客户不希望拥有身份验证过程,但访问我页面的所有用户都应自动为第三方搜索提供商(LDC搜索)进行身份验证。
我设法通过http://username:password@example.com为大多数浏览器实现了这一点,这不是一个可接受的解决方案,因为any1可以看到密码,而且它在IE中无效。
首先:我坚信如果不改变身份验证方法或通过js或通过链接自动填写密码(这需要将通行证发送给所有客户),这是不可能的。如果我错了,请纠正我?
其次:是否有任何(半)安全方式可以跳过身份验证或在不更改第三方插件的情况下以安全方式自动填充密码?
第三:如果不可能,那么创建身份验证的最佳方法是什么?我可以告诉搜索提供商,他可以更改他的API以使用Refference Filter或类似的? 最好的问候,并提供任何帮助 页面:http://www.gotomidtown.co.uk/ldc-search/
答案 0 :(得分:1)
使用HTTP Basic身份验证,执行请求的人必须提交用户名和密码进行身份验证。这意味着执行请求的人需要知道用户名和密码。没有办法让客户端向HTTP Basic安全站点发出请求,而不会向用户公开用户凭据。即使您可以将其从URL中隐藏起来,从而看不到最终用户,但对于任何想要在正确位置查找的人(网络请求检查选项卡等),它仍然可见。
您想要的是一种第三方身份验证形式,您的服务器会通过API提供程序进行身份验证并接收限时令牌。然后,您将用户发送到具有该令牌的URL,API提供程序将接受该URL,并允许用户进行一次身份验证,而不会发出常量秘密。基本上你这样使用一次性密码。 API提供者必须明确支持和实现此机制。