一、微博开发者认证 http://open.weibo.com/
1.右上角登录,登录后点击右上角头像,选第一个编辑开发者信息并提交审核
2.然后导航栏 微连接->网站接入->立即接入,添加一个应用
3.导航栏,我的应用->应用信息->高级信息。
二、代码开发 获取php sdk。 这个代码 seartv.ex.class.php 文件是真正的sdk,其他几个文件都是demo。
用laravel开发也就是把demo文件迁移到框架的一个过程。
1. 在config 下新建weibo.php配置文件
<?php
return [
/*
* 账号基本信息,请从微信公众平台/开放平台获取
*/
'wb_akey' =>
env(
'WB_AKEY',
''),
// AppID
'wb_skey' =>
env(
'WB_SKEY',
''),
// AppSecret
'wb_callback_url' =>
env(
'WB_CALLBACK_URL',
'http://****/wblogin/callback'),
// callback
];
Route::
get(
'/admin/wblogin',
'Admin\LoginController@login');
//獲取accessToken
Route::
any(
'/wblogin/callback',
'Admin\LoginController@callback');
//回調路由
<?php
namespace
App\Http\Controllers\Admin;
use App\Http\Controllers\
Controller;
use
DB;
use Illuminate\Http\
Request;
use
Storage;
use
Log;
use app\Libs\wbsdk\
WBSDK;
class
LoginController
extends
Controller
{
public
function
login(){
$o=
new
WBSDK(
config(
'weibo.wb_akey'),
config(
"weibo.wb_skey"));
$url=
config(
"weibo.wb_callback_url");
$oauth=
$o->
getAuthorizeURL(
$url);
return
redirect()->
to(
$oauth);
}
public
function
callback(){
$o =
new
WBSDK(
config(
'weibo.wb_akey'),
config(
"weibo.wb_skey"));
if (
isset(
$_REQUEST[
'code'])) {
$keys =
array();
$keys[
'code'] =
$_REQUEST[
'code'];
$keys[
'redirect_uri'] =
config(
"weibo.wb_callback_url");
try {
$token =
$o->
getAccessToken(
'code',
$keys ) ;
}
catch (
OAuthException
$e) {
Log::
info(
$e);
}
}
if (
$token) {
session([
'admin' =>
$token]);
return
redirect()->
to(
"授权成功跳转路由");
}
else {
return
"授权失败。";
}
}
}
还记得config/weibo.php里的回调地址吗,这次一模一样复制进去(我就是在这坑的。必须一模一样。)
授权回调页:http://****/wblogin/callback
取消授权回调页:http://****/wblogin/callback