HybridAuth를 이용한 OAuth 인증(Facebook편)
6258 단어 OAuthPHPHybridAuthFacebook
배경
고객 의뢰에서 HybridAuth를 이용하여 OAuth 인증을 실현하고 싶다는 요구가 있어 실현 방법을 조사했다.
환경
서버 환경
구현
기본적으로는 아래의 페이지를 읽어 가면 실현 가능하지만, (1)영어인 것, (2)OAuth의 구조(흐름)가 다소 어렵고, 실장 경험이 없으면 막히기 쉽다는 점에 주의.
Facebook Authentication - HybridAuth
Facebook Developers의 설정
Facebook Developers 로 이동하여 브라우저에서 애플리케이션 설정을 수행해야 합니다.
설정의 흐름은 크게 이하와 같다.
App ID, App Secret은 나중 단계에서 사용하기 위해 항상 삼가해야합니다.
Hybridauth 설치 Composer
이하의 작업은 문서 루트로 실시.
1.Composer 사이트에서 composer.phar를 다운로드합니다.
2.composer.json이라는 파일을 준비하고 다음 내용을 설명합니다.
{
"name": "genzouw/hybridauth_example",
"authors": [
{
"name": "genzouw",
"email": "[email protected]"
}
],
"require": {
"hybridauth/hybridauth": "2.2.2"
}
}
3. 커맨드 라인에서 다음 명령을 실행합니다.
$ php composer.phar install
라고 여러가지 썼지만, 문서 루트에 이하의 파일을 전개한 것을 배치하는 것만으로도 좋다.
4. 마지막으로 index.php, auth.php라는 파일을 만들고 다음 내용을 설명한다.
여기서의 주의는, #Server IP#에는 자신의 서버의 IP 주소(물론 도메인에서도 OK), #App ID#, #App Secret#**에는 이전의 Facebook 페이지로 설정한 마지막 페이지에 표시 되고 있는 값을 세트 하는 것.
<?php
require_once __DIR__ . '/vendor/autoload.php';
$config = array(
"base_url" => "http://#Server IP#/auth.php",
"providers" => array (
"Facebook" => array (
"enabled" => true,
"keys" => array ( "id" => "#App ID#", "secret" => "#App Secret#" ),
"scope" => "email, user_about_me, user_birthday, user_hometown", // optional
// "display" => "popup" // optional
)));
use hybridauth\Hybrid\Auth;
$hybridAuth = new Hybrid_Auth( $config );
$adapter = $hybridAuth->authenticate( "Facebook" );
$userProfile = $adapter->getUserProfile();
echo '<pre>'; var_dump($userProfile); echo '</pre>';
auth.php에 대해서는, 이제 이런 모습이 없다고 생각해 만들면 OK.
<?php
require_once __DIR__ . '/vendor/autoload.php';
require_once "vendor/hybridauth/hybridauth/hybridauth/index.php";
5.index.php에 액세스하면 Facebook 인증이 이루어집니다.
인증이 성공하면 사용자 정보가 출력되어야 합니다.
후기
Twitter OAuth로 주저하는 사람은 적습니다만, Facebook OAuth로 주저하는 분은 얼마 안 있어요.
저도 몇번이나 집어들었습니다.
Facebook Graph API로 취득할 수 있는 정보가 Twitter보다 많다는 것도 요인의 하나이며, 인증이 강고해지고 있다고 생각합니다.
Reference
이 문제에 관하여(HybridAuth를 이용한 OAuth 인증(Facebook편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/genzouw/items/59d9c943061b1a7a1f55텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)