代码之家  ›  专栏  ›  技术社区  ›  Johannes Hoff

如何在Ubuntu中设置OpenID提供程序(服务器)?

  •  12
  • Johannes Hoff  · 技术社区  · 16 年前

    我想使用openid登录到堆栈溢出,但我想我已经建立了自己的openid提供程序,因为这很难实现:)在Ubuntu中是如何做到的?

    编辑:用正确的术语openid provider替换“server”(身份提供程序也将根据 wikipedia )

    5 回复  |  直到 16 年前
        1
  •  5
  •   Damien B    16 年前

    我个人用过 phpMyID 仅用于stackoverflow。这是一个简单的两个文件PHP脚本,放在子域的某个地方。当然,它不像安装.deb那么简单,但是由于OpenID完全依赖于HTTP,所以我不确定安装一个独立的服务器是明智的…

        2
  •  10
  •   tonygambone    16 年前

    您还可以考虑将自己的站点设置为另一个OpenID提供者的代理。这样,您可以使用自己的自定义URL,但不必担心前面提到的安全性和维护。不过,这并不难,因此可能不符合您的标准:)

    作为一个例子,您可以将这个HTML片段添加到您想要的openid url的页面中,如果您是 using ClaimID 作为OpenID提供程序:

    <link rel="openid.server" href="http://openid.claimid.com/server" />
    <link rel="openid.delegate" href="http://openid.claimid.com/USERNAME" />
    

    因此,当OpenID客户机访问您的URL时,它们会将自己“重定向”到实际的提供者。

        3
  •  7
  •   Konrad Rudolph    16 年前

    实际上我已经完成了(使用phpmyid设置自己的服务器)。这很容易,而且工作也很好。有一件事让我非常恼火,那就是使用HTML重定向而不是HTTP。我根据从 phpMyID forum .

    但是,我已经切换到 myOpenId 同时。推出自己的供应商是一种乐趣和游戏,但 只是不安全 !有两个问题:

    • 一般来说,你必须按信仰行事。phpmyid很棒,但它是在别人的业余时间开发出来的。它可能有许多未被发现的安全漏洞,过去也有一些。虽然这当然适用于所有与安全相关的软件,但我相信在业余时间开发的软件可能会更严重,特别是在我看来,代码还远远不够完美。
    • 其次,OpenID非常容易受到屏幕抓取和模拟接口的影响。对于攻击者来说,模拟phpmyid接口来获取另一个站点的凭据太容易了。肌球蛋白减少症提供了两个非常重要的解决方案。
      • 第一种方法是使用嵌入在登录页面中的cookie存储图片。如果有人在屏幕上伪造了myopenid登录页面,这张图片将会丢失,并且很容易识别出假图片。
      • 其次,myopenid支持使用可以安装在Web浏览器中的强签名证书登录。

    我仍然将phpmyid设置为使用 Yadis 但我不会把它作为我不信任的网站的登录名。

    无论如何,读山姆·鲁比的 tutorial !

        4
  •  3
  •   colan    14 年前

    看看 Run your own identity server 页。到目前为止,社区ID看起来是最有前途的。

        5
  •  0
  •   Tom    15 年前

    我完全理解你这个问题的来龙去脉。我在www.my openid.com上已经有了一个openid,但是依靠第三方登录这个重要的登录(也就是说,我在互联网上的永久“家”)让我感觉有点奇怪。

    幸运的是,将您自己的服务器用作OpenID服务器很容易—事实上,只需使用phpmyid两个文件就可以完成。

    • 从下载“phpmyid-0.9.zip” http://siege.org/projects/phpMyID/
    • 将它移到服务器上并解压缩,以查看解释所有内容的自述文件。
    • zip有两个文件: myid.config.php、myid.php . 我创建了一个名为 <mydocumentroot>/OpenID 并更名 MyID.CONT.PHP 索引文件 . 这意味着我的OpenID URL将非常酷: http://<mywebsite>/OpenID
    • 决定用户名和密码,然后使用以下命令创建它们的哈希: echo -n '<myUserNam>:phpMyID:<myPassword>' | openssl md5
    • 正常开放 索引文件 在文本编辑器中,在占位符中添加用户名和密码哈希。保存它。
    • 通过浏览来测试 http://<mywebsite>/OpenID/
    • 测试ID正在使用: http://www.openidenabled.com/resources/openid-test/checkup/

    重读信息: http://www.wynia.org/wordpress/2007/01/15/setting-up-an-openid-with-php/ , http://siege.org/projects/phpmyid/ , http://blog.stackoverflow.com/2009/01/using-your-own-url-as-your-openid/