【问题标题】:How can I automatically authenticate a different site?如何自动验证不同的站点?
【发布时间】:2012-09-03 15:26:37
【问题描述】:

我有一个 Wordpress 网站,我正在使用使用基本 HTTP 身份验证的第 3 方搜索提供者的 API。

当用户在我的网站上搜索时,一个 JS 将搜索请求提交给 3rd 方搜索提供者,如果通过了验证则返回结果,如果没有则要求用户验证。

现在,客户不希望有身份验证过程,但所有访问我的页面的用户都应该自动为 3rd 方搜索提供商(LDC 搜索)进行身份验证。

我设法通过http://username:password@example.com为大多数浏览器实现了这一点,这不是一个可接受的解决方案,因为any1可以看到密码,并且在IE中不起作用。

首先:我坚信如果不更改身份验证方法或通过 js 或通过链接自动填写密码(这需要将通行证发送给所有客户端),这是不可能的,如果我错了,请纠正我?

其次:是否有任何(半)安全的方式来跳过身份验证或以安全的方式自动填充密码而不更改 3rd 方插件?

第三:如果这不可能,创建身份验证的最佳方法是什么?我可以告诉搜索提供者什么,以便他可以将他的 API 更改为具有引用过滤器或类似的东西? 最好的问候,并感谢 4 提前提供任何帮助 主页:http://www.gotomidtown.co.uk/ldc-search/

【问题讨论】:

    标签: javascript wordpress http authentication http-authentication


    【解决方案1】:

    使用 HTTP 基本身份验证,发出请求的人必须提交用户名和密码才能进行身份验证。这意味着发出请求的人需要知道用户名和密码。如果不向客户端公开用户凭据,就无法让客户端向 HTTP Basic 安全站点发出请求。即使您可以将其从 URL 中隐藏起来,从而使最终用户无法看到,但任何想在正确位置(网络请求检查选项卡等)查看的人仍然可以看到它。

    您想要的是一种第三方身份验证形式,您的服务器通过 API 提供者进行身份验证并接收限时令牌。然后,您将用户发送到带有该令牌的 URL,API 提供者将接受该令牌并允许用户进行一次身份验证,而无需提供常量密钥。本质上,您以这种方式使用一次性密码。 API 提供者必须明确支持和实现这种机制。

    【讨论】:

    • 谢谢,非常感谢。正如我所料。
    猜你喜欢
    • 2011-08-07
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    相关资源
    最近更新 更多