【问题标题】:How do you enable customers use their openid on your website, just like stackoverflow?你如何让客户在你的网站上使用他们的 openid,就像 stackoverflow 一样?
【发布时间】:2009-01-25 04:16:52
【问题描述】:

我希望客户在我的网站上使用他们的 openId。我用谷歌搜索了这个,但没有找到任何好的教程。我使用 PHP 和 MySQL。

Plaxo 有一个。但它说我们应该从 JanRain.com 下载一些东西。

我看到了 Drupal 的 openId 模块。它不想下载任何东西。

谁能告诉我具体该怎么做?

【问题讨论】:

  • +1 开启了一个非常有趣的话题。

标签: php mysql openid


【解决方案1】:

Stack Overflow 将这个库用于冒烟的 javascript 接口:http://code.google.com/p/openid-selector/

【讨论】:

【解决方案2】:

这里列出了许多不错的库: http://wiki.openid.net/Libraries

【讨论】:

  • 此链接上的示例不再有效:|
【解决方案3】:

Drupal 的 OpenID 模块started off using the JanRain library in 4.7.x,是 PHP 中最常用的 OpenID 实现。

您不必在 Drupal 中下载库,因为它已经内置到 Drupal 核心中。

【讨论】:

    【解决方案4】:

    您也可以像uservoice 一样使用rpx

    【讨论】:

      【解决方案5】:

      如果您在 linux 机器上托管您的网站,应该有一个可以安装的 php-openid 软件包,它会为您提供一个开放 id 客户端库,您可以使用它来启用开放 id 登录。该软件包带有很好的示例代码,可以帮助您入门。如果你没有运行 linux 或者你的发行版没有 php-openid,我 99% 确定 php-openid 是基于(或直接)JanRain.com 的 php 库,所以直接下载它应该可以让你同样的事情。

      【讨论】:

        【解决方案6】:

        Zend Framework 还开发了一个OpenID Component,它可以作为独立的(即不依赖于框架的其余部分)使用,或者至少需要最少的交互(我相信它使用响应对象重定向)。

        无论哪种方式,它都是另一种选择,尤其是在构建 ZF 支持的网站时特别有用。

        【讨论】:

          【解决方案7】:

          我只看了一眼,http://www.saeven.net/openid.htm 对你有用吗?

          【讨论】:

            【解决方案8】:

            以下库可用于协助在 PHP 中实现 OpenID 身份服务器和使用者。本节中的库旨在帮助处理特定于 OpenID 的所有细节,并让您提供粘合剂以将其集成到您的站点中。 (source)

            【讨论】:

              【解决方案9】:

              HybridAuth 是 php 库上的一个开源社交标志。

              HybridAuth 库的主要目标是充当您的应用程序与各种社交 API 和身份提供商(如 Facebook、Twitter、LinkedIn、Google 和 Yahoo)之间的抽象 API。

              HybridAuth 使开发人员能够通过实施社交登录、社交分享、用户个人资料、朋友列表、活动流、状态更新等,轻松构建社交应用程序,以在社交层面吸引网站访问者和客户。

              使用 HybridAuth 的世界你好:

              <?php
               $config = dirname(__FILE__) . '/library/config.php';
               require_once( "library/Hybrid/Auth.php" );
              
               try{
                   $hybridauth = new Hybrid_Auth( $config ); 
                   $twitter = $hybridauth->authenticate( "Twitter" );
                   $user_profile = $twitter->getUserProfile();
                   echo "Hi there! " . $user_profile->displayName;
                   $twitter->setUserStatus( "Hello world!" );
                   $user_contacts = $twitter->getUserContacts();
               }
               catch( Exception $e ){
                   echo "Ooophs, we got an error: " . $e->getMessage();
               }
              

              【讨论】:

                猜你喜欢
                • 2010-09-08
                • 2021-02-27
                • 1970-01-01
                • 1970-01-01
                • 2013-11-05
                • 2023-03-28
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多