您的位置:首页 > 运维架构 > 网站架构

利用新浪微博第三方认证OAuth登录自己的网站

2011-03-24 16:57 441 查看
1. 类库下载:

用于新浪微博开放平台的PHP Lib. 内含能直接使用的DEMO.

SAE上OAuth版本内置了,不用下载,参考http://blog.sae.sina.com.cn/?p=107*

Basic认证版本在这里下载 http://code.google.com/p/libweibo/downloads/list

新浪官方下载页面:
http://open.t.sina.com.cn/wiki/index.php/SDK#PHP

新浪宣布2011.6.1全面停止 Basic Auth的支持,所以要请开发者注意这个问题了

2. 调用新浪微博接口必须是要申请一个应用的,申请应用成功之后会得到一个App key号和App Secret号,我们也需要通过这两个参数来请求授权

新浪官方地址:http://t.sina.com.cn/11051/3f4cXR5Tej

3. demo使用教程:

下载,然后解压,修改config.php中的App Key和App Secret

打开index.php,将13行最后一个url改成你网站对应的callback.php的url

上传到PHP空间即可

4. 开发完成后,再去新浪微博网站上提交申请即可

5. 我觉得这个第三方登录其实意义也不大,从新浪微博传过来的参数,没几样是我需要的,邮箱不肯给,有用的就给了个用户名的参数,但是用户名有什么用啊,我也不能用这个用户名直接给用户注册一个账号,因为万一有重复的用户名就出错了,所以还是需要用户自行选择是绑定已有的网站账号呢,还是根据这个第三方认证创建一个新账号。这些都做完以后,用户可以根据第三方认证自动登录。用户其实该填的还都得填,没一点方便,这个无非就是几个网站之间表面性的提高点耦合度,提高点点击量,无他。

6. 出现的问题

我在本机测试的时候,一切ok。传到服务器的时候出错了,点击第三方登录按钮时,打开的页面总是“找不到页面”。后来根据新浪的类库代码一步一步的找下去,发现原因了,他用到了curl模块,我的服务器恰好是不支持这个的。得,重新编译php吧,让他支持curl吧。教程如下

7.
Linux下为PHP添加CURL扩展库的教程

本次编译只是单独编译php的扩展库,然后将编译好的php扩展库加到现在运行的php中,不对现在运行的php重新编译,所以对现在运行的php没有任何影响。

假如原先编译的php目录在/usr/local/php4目录下;apache在/usr/local/apache2目录下;php源代码在/usr/local/src/php-4.4.7目录下。如果实际目录与假定的目录不一致,则在下面的命令中做调整。

1. 找到当前运行的php版本的源代码目录,如 php-4.4.7。进入curl扩展库目录。

$cd /usr/local/src/php-4.4.7/ext/curl

2. 调用phpize程序生成编译配置文件。

$/usr/local/php4/bin/phpize

3. 编译扩展库,分别执行下面的configure和make命令。

$./configure -with-php-config=/usr/local/php4/bin/php-config

##configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。

$make

##make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,

如 /usr/local/src/php-4.4.7/ext/curl/modules/curl.so

4. 配置php.ini文件

##将编译好的扩展库文件复制到apache2 modules目录下。

$cp /usr/local/src/php-4.4.7/ext/curl/modules/curl.so /usr/local/apache2/modules/.

##可以通过查看phpinfo信息来确定php.ini文件位置,然后编辑。

##在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下。

extension_dir = “/usr/local/apache2/modules/”

##在php.ini的添加扩展库位置,设置要添加的扩展库。

extension=curl.so

##以后如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copy到apache2 modules目录下,

##然后再在这个位置,添加一行将编译后的扩展库文件名加上即可。

5. 重启apache,查看phpinfo信息,即可看到刚才添加进去的curl扩展库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: