2

有没有像这样的WordPress 登录 php 脚本?

此脚本用于使用 WordPress.com 帐户登录。

我已按照文档编写脚本。但是当我打印访问令牌时它没有为我提供访问令牌。它表明它是空的。
这是我使用 WordPress.com 帐户实现登录的代码:

    session_start();
$client_id     = "2472";
$client_secret ="TaB3JPXeuJA8XsosdkMbZnuJoybxJaBF6WmDD11WFJg8QQme9fmye6l2Kxd45cpx";

$login_url     = "https://public-api.wordpress.com/oauth2/authorize?client_id=$client_id&redirect_uri=http://w3.softwarecookerbd.com/wordpress.php&response_type=code";

function getToken(){
    $curl = curl_init( "https://public-api.wordpress.com/oauth2/token" );
    curl_setopt( $curl, CURLOPT_POST, true );
    curl_setopt( $curl, CURLOPT_POSTFIELDS, array(
        'client_id'     => "2472",
        'redirect_uri'  => "http://w3.softwarecookerbd.com/wordpress.php",
        'client_secret' => "TaB3JPXeuJA8XsosdkMbZnuJoybxJaBF6WmDD11WFJg8QQme9fmye6l2Kxd45cpx",
        'code'          => $_GET['code'], // The code from the previous request
        'grant_type'    => 'authorization_code'
    ) );
    curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1);
    $auth       = curl_exec( $curl );

    $secret     = json_decode($auth);

    echo "<pre>";
    var_dump($secret);
    exit;
    $access_key = $secret->access_token;

}

if(isset($_GET["code"])&&!empty($_GET["code"])){
    //$url = "https://public-api.wordpress.com/oauth2/token?client_id=$client_id&client_secret=client_secret&redirect_uri=http://w3.softwarecookerbd.com/wordpress.php&code=".$_GET['code']."&grant_type=authorization_code";
    //$response = file_get_contents($url);
    //echo $response;
    getToken();
}else{
    header("Location: ".$login_url);
}
4

1 回答 1

0

我不确定你发布的实际脚本,但是有几个插件可以让你这样做,你可能想看看它们,因为它们是开源的,如果你真的想做自己动手,你可以随时偷看代码,看看问题出在哪里。

我知道的其中一些(不仅限于 wordpress.com,还包括其他服务)是:

http://wordpress.org/extend/plugins/oa-social-login/

http://wordpress.org/extend/plugins/socialauth-wp/

http://wordpress.org/extend/plugins/ssi-sumilux/screenshots/

如果我没记错的话(也许我错了)wordpress 喷气背包也有这个功能..

http://wordpress.org/extend/plugins/jetpack/

于 2013-04-10T11:40:03.500 回答