代码之家  ›  专栏  ›  技术社区  ›  Brad Robinson

DotNetOpenAuth-诊断Mono上“没有找到OpenID端点”

  •  4
  • Brad Robinson  · 技术社区  · 14 年前

    No OpenID Endpoint Found 尝试使用google进行身份验证时出错,但不确定如何诊断它们。

    更多信息:

    • 在Windows下运行相同的mono分支构建可以工作。
    • 使用本地openid提供程序进行身份验证工作正常(Windows和Linux)。
    • 使用myopenid进行身份验证(可能是因为它不像google那样是https?)
    • 已禁用DNOA openid cacheDiscovery设置。
    • 已经从Linux机器通过防火墙检查了SSL的工作。(即: wget https://www.google.com
    • 已经检查了apache错误日志,没有报告错误。

    有什么关于如何诊断的提示吗?

    后续:仍在研究这个问题,因为我可以告诉您这是一个与dotnetopenauth无关的mono/ssl问题。来自C#代码的简单ssl请求失败,从服务器接收到无效证书。错误代码:0xffffff800b010a异常。

    在mono 2.4/ubuntu 9.10桌面下运行mozrots可以解决这个问题,但是在mono2.6/ubuntu 10.10服务器上运行相同的mozrots命令没有帮助。我用这个:

    yes yes|sudo mozroots --import --machine
    

    它说它导入了证书,但是一个简单的命令行程序 https://www.google.com

    2 回复  |  直到 14 年前
        1
  •  3
  •   tmaj    14 年前

    您需要在计算机存储中的“certs”目录旁边创建一个空的“keypairs”目录:

      sudo mkdir /usr/share/.mono/keypairs
    

        2
  •  0
  •   Brad Robinson    14 年前

    这是一个黑客的答案,但至少我让它工作。。。

    似乎机器证书存储在mono 2.6/ubuntu 10.10服务器上不起作用。不知道为什么。

    sudo mkdir /var/www/.config/.mono/certs/Trust
    sudo mkdir /var/www/.config/.mono/certs/CA
    sudo cp /usr/share/.mono/certs/Trust /var/www/.config/.mono/certs/Trust
    

    现在它工作了。。。