簡體   English   中英

在為Hybridauth提供者(WordPress)設置自定義終結點時遇到麻煩

[英]Having trouble setting custom endpoints for Hybridauth provider (WordPress)

我正在嘗試使用Hybridauth(版本3)通過https://public-api.wordpress.com/rest/v1.1/me/sites端點獲取經過身份驗證的用戶的WordPress博客的列表。 弄清楚了,為此,我需要將WordPress的默認authorize_url端點從https://public-api.wordpress.com/oauth2/authenticate更改為https://public-api.wordpress.com/oauth2/授權

Hybridauth使您可以更改端點,如此處的示例所示: https : //github.com/hybridauth/hybridauth/blob/master/examples/example_03.php

不幸的是,這導致以下錯誤:

致命錯誤:未捕獲的TypeError:傳遞給Hybridauth \\ Adapter \\ AbstractAdapter :: setApiEndpoints()的參數1必須是Hybridauth \\ Data \\ Collection的實例,給定數組

編碼:

$config = [
    "callback"      => APP_URL."/callback", 
    "keys"          => array("id" => "XXXXXX", "secret" => "YYYYYYYYYY"),
    "scope"         => array("global", "auth"),
    "endpoints"     => [
        "authorize_url"    => "https://public-api.wordpress.com/oauth2/authorize",
    ]
];

$adapter = new Hybridauth\Provider\WordPress($config);

我究竟做錯了什么? 我覺得我錯過了一件非常明顯的事情。

端點應該是Hybridauth\\Data\\Collection的實例。

您可以將當前的終結Hybridauth\\Data\\Collection組值傳遞給Hybridauth\\Data\\Collection構造函數以創建一個實例,並將其設置為config數組中的終結點鍵。

<?php

include './vendor/autoload.php';


$endpoints = new Hybridauth\Data\Collection([
    'api_base_url'     => 'https://public-api.wordpress.com/rest/v1.1/',
    'authorize_url'    => 'https://public-api.wordpress.com/oauth2/authorize',
    'access_token_url' => 'https://public-api.wordpress.com/oauth2/token',
]);

$config = [
    'callback'  => Hybridauth\HttpClient\Util::getCurrentUrl(),
    'keys'      => [ 'id' => 'client-id', 'secret' => 'client-secret' ],
    'endpoints' => $endpoints
];

try {
    $adapter = new Hybridauth\Provider\WordPress( $config );
    $adapter->authenticate();

    $tokens = $adapter->getAccessToken();
    print_r($tokens);

    $userProfile = $adapter->getUserProfile();
    print_r( $userProfile );

    $adapter->disconnect();
}
catch (Exception $e) {
    echo $e->getMessage();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM