twitch
인증 코드 흐름을 사용하여 OAuth 토큰 가져 오기
수색…
인증 코드를 얻기 위해 사용자를 인증 엔드 포인트로 전송하십시오.
먼저 사용자를 트 위치 승인 엔드 포인트로 보냅니다. 이 URL은 기본 승인 URL ( https://api.twitch.tv/kraken/oauth2/authorize )과 요청한 것을 정의하는 쿼리 문자열 매개 변수로 구성됩니다. 필수 매개 변수는 response_type , client_id , redirect_uri 및 scope 입니다.
인증 코드 흐름의 경우 response_type 매개 변수는 항상 code 설정됩니다. 이는 Twitch API에서 승인 코드를 요청하고 있음을 나타냅니다.
redirect_uri 는 응용 프로그램이 요청한 범위를 승인 한 후 사용자가 redirect_uri 되는 곳입니다. 이것은 Twitch 계정 연결 페이지 에 등록한 것과 일치해야합니다.
client_id 는 애플리케이션의 고유 식별자입니다. 연결 페이지에서도 클라이언트 ID를 찾을 수 있습니다.
scope 는 사용자 대신 액세스 권한을 정의합니다. 응용 프로그램이 작동하는 데 필요한 최소한의 요청 만해야합니다. Twitch API GitHub 에서 범위 목록을 찾을 수 있습니다.
state 매개 변수는 사이트 간 스크립팅 공격으로부터 보호하기 위해 지원됩니다. 사용자가 응용 프로그램을 인증하면 state 매개 변수가 redirect_uri 포함됩니다.
https://api.twitch.tv/kraken/oauth2/authorize
?response_type=code
&client_id=[your client ID]
&redirect_uri=[your registered redirect URI]
&scope=[space separated list of scopes]
&state=[your provided unique token]
쿼리 문자열에서 인증 코드 가져 오기
사용자가 권한 엔드 포인트로 이동하면 요청한 범위에 응용 프로그램 권한을 요청하는 메시지가 표시됩니다. 그들은 이것을 거절 할 수 있으므로 코드에서이를 고려해야합니다. 애플리케이션 액세스를 허용 한 후 사용자는 redirect_uri에서 지정한 URL로 redirect_uri . 이제 검색어 문자열에 OAuth 토큰을 교환 할 수있는 인증 코드 인 code 매개 변수가 있습니다.
<?php
$authCode = $_GET['code'];
?>
OAuth 토큰에 대한 코드 교환
이제 인증 코드를 얻었으므로 토큰 끝점 ( https://api.twitch.tv/kraken/oauth2/token )에 POST를 수행하여 OAuth 토큰을 얻을 수 있습니다. JSON으로 인코딩 된 액세스 토큰, 새로 고침 토큰 및 사용자가 승인 한 범위 목록을 받게됩니다. 이제이 토큰을 사용하여 사용자를 대신하여 인증 된 요청을 할 수 있습니다.
<?php
$authCode = $_GET['code'];
$parameterValues = array(
'client_id' => '...',
'client_secret' => '...',
'grant_type' => 'authorization_code',
'redirect_uri' => 'http://localhost/',
'code' => $authCode
);
$postValues = http_build_query($parameterValues, '', '&');
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'https://api.twitch.tv/kraken/oauth2/token',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $postValues
));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>