depotwarehouse/oauth2-twitch

league/oauth2-client的Twitch提供者

1.3.3 2019-10-17 04:42 UTC

This package is not auto-updated.

Last update: 2024-09-21 13:24:28 UTC


README

这是一个用于将twitch.tv身份验证与OAuth2客户端库集成的包,由The League of Extraordinary Packages提供。

要安装,请使用composer

composer require depotwarehouse/oauth2-twitch

用法与league的OAuth客户端相同,使用\Depotwarehouse\OAuth2\Client\Twitch\Provider\Twitch作为提供者。例如

$provider = new \Depotwarehouse\OAuth2\Client\Twitch\Provider\Twitch([
    'clientId' => "YOUR_CLIENT_ID",
    'clientSecret' => "YOUR_CLIENT_SECRET",
    'redirectUri' => "http://your-redirect-uri"
]);

您也可以可选地向构造函数传递的数组中添加一个scopes键。可用的作用域在Twitch API文档中有记录。

注意:提供者默认使用"user_read"作用域。如果您传递其他作用域,并且希望"->getResourceOwner()"方法能够工作,您需要确保使用"user_read"作用域。

if (isset($_GET['code']) && $_GET['code']) {
    $token = $this->provider->getAccessToken("authorization_code", [
        'code' => $_GET['code']
    ]);

    // Returns an instance of Depotwarehouse\OAuth2\Client\Twitch\Entity\TwitchUser
    $user = $this->provider->getResourceOwner($token);
    
    $user->getDisplayName();
    $user->getId()
    $user->getType();
    $user->getBio();
    $user->getEmail();
    $user->getPartnered();

测试

您可以通过将客户端信息(来自您的twitch.tv账户)添加到config/config.php并启动一个PHP服务器来快速测试该包是否工作。

cd test/
php -S localhost:8000

现在,导航到https://:8000应显示OAuth流程并显示您的用户信息。