目前正在尝试开发一个基于browserid的登录/注册系统。
我有一个本地 IP 为 192.168.0.106 且在“http://localhost”上运行的服务器
当从服务器计算机上的浏览器通过向受众发送验证来执行此操作时,该过程完美运行:“localhost”
问题是,当我尝试从同一本地网络上的另一台计算机识别该地址不是本地主机,而是类似 192.168.0.101 的地址时:验证过程返回“受众不匹配”失败,因为客户端连接到 192.168。 0.106(服务器的本地地址)而不是本地主机
有什么想法或建议吗?
最佳答案
验证者进行的受众匹配检查是为了确保您得到的断言是最新的,并且不是从其他网站获取的。
在“生产”中,您通常会知道客户端连接到您的站点的地址,并将其硬编码到对验证程序的调用中。
在开发过程中,我使用了两个选项: 1. 从我正在测试的客户端添加到/etc/hosts 文件的显式映射,以便所有客户端都使用相同的地址 2.使用“Host” header 中的值作为受众值(这可能完全不安全,具体取决于您使用的中间件/中介,因此只能在开发中完成)
关于browserid - 开发模式受众不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10898562/