소셜 미디어 및 다양한 플랫폼이 널리 사용되면서 타사 계정을 사용하여 로그인하고 인증하는 것은 인터넷 애플리케이션의 일반적인 요구 중 하나가되었습니다. PHP는 인기있는 개발 언어로서 강력한 OAUTH 기능 지원을 제공하여 개발자가 타사 로그인 및 승인을 쉽게 달성 할 수 있도록 도와줍니다.
OAUTH는 사용자가 토큰을 통해 타사 응용 프로그램에 액세스 할 수 있도록 승인하기위한 공개 표준입니다. 기존 사용자 이름 및 비밀번호 인증과 달리 OAUTH는 사용자의 개인 정보를 효과적으로 보호하고 인증 프로세스를 더 안전하고 쉽게 만들 수 있습니다. 이 기사는 PHP에서 OAUTH를 사용하여 타사 로그인 및 인증을 구현하는 방법을 자세히 소개합니다.
먼저 개발자 계정을 등록하고 타사 플랫폼에서 응용 프로그램을 만들어야합니다. 예를 들어, Sina Weibo를 예로 들어 Weibo Open 플랫폼을 방문하여 개발자 계정을 등록하십시오. 등록을 완료하면 앱을 만들고 앱 키 및 앱 비밀을 얻을 수 있습니다.이 비밀은 타사 플랫폼과 상호 작용하는 데 필요한 중요한 자격 증명입니다.
다음으로 PHP 파일 (예 : Oauth.php)을 생성하고 OAUTH 라이브러리를 소개해야합니다. PHP에서는 PHP의 PECL OAUTH 확장 또는 내장 OAUTH 기능 라이브러리를 사용할 수 있습니다.
<?php // 소개OAuth도서관 require_once('OAuth.php');
이 코드에서는 앱 키, 앱 비밀 및 콜백 URL을 설정해야합니다. 콜백 URL은 인증 후 사용자가 다시 리디렉션하는 주소이며 귀하의 요구에 따라 설정할 수 있습니다.
<?php // App Key그리고App Secret $consumer_key = 'your_consumer_key'; $consumer_secret = 'your_consumer_secret'; // 콜백URL $callback_url = 'http://your_website.com/callback.php';
요청 토큰은 액세스 토큰을 얻는 데 사용되는 임시 자격 증명입니다. OAUTH의 getRequestToken 방법을 통해 요청 토큰을 요청할 수 있습니다.
<?php // aOAuth물체 $oauth = new OAuth($consumer_key, $consumer_secret); // 얻다Request Token $request_token_info = $oauth-> getRequestToken ( 'https://api.weibo.com/oauth/request_token', $ callback_url); // 스토리지 요청 토큰 및 비밀 $ _session [ 'oauth_token'] = $ request_token_info [ 'oauth_token']; $ _session [ 'oauth_token_secret'] = $ request_token_info [ 'oauth_token_secret']; // 승인 URL을 생성합니다 $ authorize_url = 'https://api.weibo.com/oauth/authorize?oauth_token='. $ request_token_info [ 'oauth_token']; // 로그인 인증 페이지 헤더로 점프합니다 ( 'location :'. $ authorize_url); 출구;
위의 코드에서는 Oauth 객체를 생성하고 App Key 및 App Secret으로 초기화합니다. 다음으로 GetRequestToken 방법을 통해 요청 토큰을 얻고 세션에 저장합니다. 마지막으로 권한 부여 URL을 생성하고 권한 부여를 위해 사용자를 해당 URL로 리디렉션합니다.
사용자가 승인을 완료하면 타사 플랫폼이 설정 한 콜백 URL을 다시 호출하고 승인 코드 (OAUTH_VERIFIER)를 전달합니다. 액세스 토큰을 얻으려면 콜백 파일 (예 : Callback.php) 에서이 인증 코드를 사용해야합니다.
<?php // 소개OAuth도서관 require_once('OAuth.php'); // App Key그리고App Secret $consumer_key = 'your_consumer_key'; $consumer_secret = 'your_consumer_secret'; // 콜백URL $callback_url = 'http://your_website.com/callback.php'; // aOAuth물체 $oauth = new OAuth($consumer_key, $consumer_secret); // 설정Request Token그리고Secret $oauth-> settoken ($ _ session [ 'oauth_token'], $ _session [ 'oauth_token_secret']); // 액세스 토큰을 얻습니다 $ access_token_info = $ oauth-> getAccessToken ( 'https://api.weibo.com/oauth/access_token', null, $ _get [ 'oauth_verifier']); // 토큰과 비밀에 액세스 할 수 있습니다 $ access_token = $ access_token_info [ 'oauth_token']; $ access_token_secret = $ access_token_info [ 'oauth_token_secret']; // 액세스 토큰을 사용하여 API를 호출합니다 $ oauth-> settoken ($ access_token, $ access_token_secret); // 사용자 정보를 얻으려면 Sina Weibo API에 전화하십시오. $ response = $ oauth-> getLastResponse (); // 출력 사용자 정보 Echo $ 응답;
이 코드 예제에서는 먼저 요청 토큰과 세션에 저장된 비밀을 통해 OAuth 객체를 만듭니다. 그런 다음 getAccesstoken 방법을 사용하여 액세스 토큰을 얻고 토큰을 사용하여 Sina Weibo API에 액세스하여 사용자 정보를 얻으십시오.
위의 단계를 통해 PHP의 OAuth 함수를 사용하여 타사 로그인 및 인증을 구현할 수 있습니다. OAUTH 구현의 세부 사항은 플랫폼마다 다를 수 있지만 기본 프로세스와 원칙은 비슷합니다. 이 기사가 프로젝트에서 OAUTH를 이해하고 성공적으로 적용하여 편리하고 안전한 타사 로그인 및 승인을 달성하는 데 도움이되기를 바랍니다.