현재 위치: > 최신 기사 목록> PHP 및 OAuth 프로토콜을 사용하여 보안 토큰 인증 시스템 구축

PHP 및 OAuth 프로토콜을 사용하여 보안 토큰 인증 시스템 구축

M66 2025-07-13

소개

오늘날의 인터넷 시대에는 신원 확인이 점점 더 중요 해지고 있습니다. 많은 웹 사이트와 응용 프로그램은 합법적 인 사용자 만 자원에 액세스 할 수 있도록해야합니다. 안전한 인증을 달성하기 위해 개발자는 종종 OAUTH 프로토콜을 사용합니다.

OAUTH는 사용자가 제 3 자와 사용자 이름과 비밀번호를 공유하지 않고 승인을 통해 응용 프로그램의 리소스에 액세스 할 수있는 공개 표준 프로토콜입니다. 이 기사는 PHP 및 OAUTH를 사용하여 토큰 기반 인증 시스템을 구축하는 방법을 알려줍니다.

PHP Oauth 확장을 설치하십시오

먼저 PHP의 OAUTH 확장을 설치해야합니다. 다음 명령을 사용하여 터미널을 통해 설치할 수 있습니다.

 <span class="fun">sudo apt-get 설치 php-oauth</span>

확장자를 설치 한 후 코드 작성을 시작할 수 있습니다.

OAUTH 클라이언트 ID 및 클라이언트 키를 신청하십시오

코딩을 시작하기 전에 관련 개발자 플랫폼 (예 : Google, Facebook, Twitter 등)에서 OAUTH 클라이언트 ID 및 클라이언트 키를 신청해야합니다.

OAUTH 인증 프로세스를 구현하십시오

다음으로 OAUTH 인증 프로세스를 구현하기 위해 PHP 스크립트를 작성합니다. 먼저 Oauth.php라는 파일을 만들고 다음 코드를 추가하십시오.

 <?php
// 정의OAuth고객ID和고객密钥
$clientId = "YOUR_CLIENT_ID";
$clientSecret = "YOUR_CLIENT_SECRET";

// 정의OAuth콜백URL
$callbackUrl = "http://yourwebsite.com/callback.php";

// 초기화OAuth고객
$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);

// 요청 승인
$requestToken = $oauth->getRequestToken("https://api.example.com/oauth/request_token", $callbackUrl);

// 세션에 임시 토큰을 저장하십시오
$_SESSION['oauth_token'] = $requestToken['oauth_token'];
$_SESSION['oauth_token_secret'] = $requestToken['oauth_token_secret'];

// 승인을 생성하십시오URL
$authorizeUrl = $oauth->getAuthorizeURL($requestToken['oauth_token']);

// 사용자를 승인으로 리디렉션합니다URL
header("Location: " . $authorizeUrl);
?>

위의 코드에서는 OAUTH 클라이언트 ID, 클라이언트 키 및 콜백 URL을 정의합니다. 그 후, Oauth 클라이언트가 초기화되고 임시 토큰이 얻어집니다. 다음으로 인증 URL을 생성하고 해당 URL로 사용자를 리디렉션하십시오.

콜백 처리 스크립트를 만듭니다

다음으로 OAUTH 콜백을 처리하고 인증 토큰을 가져 오려면 Callback.php라는 파일을 작성해야합니다. 다음은 관련 코드입니다.

 <?php
// 임시 토큰이 있는지 확인하십시오
if (!isset($_SESSION['oauth_token']) || !isset($_SESSION['oauth_token_secret'])) {
    die("Temporary token not found.");
}

// 임시 토큰을 얻으십시오
$oauthToken = $_SESSION['oauth_token'];
$oauthTokenSecret = $_SESSION['oauth_token_secret'];

// 초기화OAuth고객
$oauth = new OAuth($clientId, $clientSecret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauthToken, $oauthTokenSecret);

// 승인 토큰을 받으십시오
$accessToken = $oauth->getAccessToken("https://api.example.com/oauth/access_token");

// 인증 토큰을 인쇄하십시오
var_dump($accessToken);
?>

이 코드에서는 먼저 임시 토큰이 존재하는지 확인합니다. 존재하는 경우이 토큰을 사용하여 OAUTH 클라이언트 객체를 초기화 한 다음 인증 토큰을 가져 와서 인쇄합니다.

요약

위의 단계를 통해 PHP 및 OAUTH를 사용하여 토큰 기반 인증 시스템을 성공적으로 구축했습니다. 이 시스템은 인증 프로세스를 단순화하면서 사용자 데이터의 보안을 효과적으로 보호 할 수 있습니다.

시스템은 실제 요구에 따라 사용자 정의 및 확장 할 수 있습니다. 이 기사가 안전한 인증을 달성하는 데 도움이되기를 바랍니다!