이 튜토리얼은 소셜 로그인 기능의 구성을 단순화하는 PHP 라이브러리 인 Hybridauth를 소개합니다.
Hybridauth는 소셜 로그인의 웹 사이트에 통합을 단순화하고 응용 프로그램과 다양한 소셜 API 사이의 중간 계층 역할을하도록 설계된 PHP 라이브러리입니다.
이 라이브러리는 보안 액세스를 위해 OAUTH를 사용하여 인증 중에 사용자 자격 증명이 보호되도록합니다.
Hybridauth는 이메일이나 사용자 이름에 의존하지 않고 소셜 네트워크에서 제공하는 고유 식별자를 사용하여 사용자 정의 사용자 인증 프로세스를 허용합니다.
앱 (예 : Facebook, Twitter 앱) 자격 증명으로 파일을 채우십시오.
예를 들어, 사용자가 Facebook, Google 및 Twitter를 통해 웹 사이트에 로그인하려면 프로필이 다음과 같습니다. 내 응용 프로그램 URL은
참고 : 매개 변수는이 경우 를 가리켜 야합니다.
<code>{ "require": { "slim/slim": "2.*", "hybridauth/hybridauth": "2.3.0" } }</code>자세한 내용은 Hybridauth 구성 문서를 참조하십시오.
다음으로 벤더 자동 로더를로드하고 클래스를 인스턴스화하십시오.
주어진 공급자를 사용하여 메소드를 사용하여 사용자를 인증하십시오. /vendor/hybridauth/hybridauth/hybridauth
Facebook의 경우 :
config.php
트위터의 경우 :
index.php
Google의 경우 :
로 전달 된 매개 변수는 파일의 제공자 배열 키와 일치해야합니다. index.php
인증 후
메소드를 사용하여 사용자의 프로필 데이터를 검색하십시오. getUserProfile()
<code>{ "require": { "slim/slim": "2.*", "hybridauth/hybridauth": "2.3.0" } }</code>
는 github 파일의 경로이고 $user_profile
는 PHP 클래스의 이름입니다.
소셜 로그인 구현 GitHub.php
vendor/hybridauth/hybridauth/additional-providers/hybridauth-github/Providers
path
class
<code>return [ "base_url" => "http://slim.local/", "providers" => [ "Google" => [ "enabled" => true, "keys" => [ "id" => "", "secret" => "" ], ], "Facebook" => [ "enabled" => true, "keys" => [ "id" => "", "secret" => "" ], "trustForwarded" => false ], "Twitter" => [ "enabled" => true, "keys" => [ "key" => "", "secret" => "" ] ], ], "debug_mode" => true, "debug_file" => "bug.txt", ];</code>데모 응용 프로그램 쓰기
authenticate()
<code>require 'vendor/autoload.php'; $hybridauth = new Hybrid_Auth( 'config.php' );</code>응용 구조
이것은 데이터베이스 테이블의 SQL입니다.
파일 네임 스페이스는 모델이며 클래스 정의 및 생성자가 뒤 따릅니다.
메소드는 데이터베이스에 이미 식별자 (사용자 식별 번호)가 존재하는 경우 true를 반환합니다. 그렇지 않으면 False를 반환합니다.
메소드 사용자 프로필 데이터를 데이터베이스에 삽입하십시오.
메소드는 호출 할 때 생성 된 사용자 세션을 Hybridauth 세션에 추가합니다 (제공자가 사용자를 성공적으로 승인 한 후 생성).
로그 아웃 링크를 클릭 할 때 사용자 세션을 삭제하거나 파괴하는 메소드.
<code>{ "require": { "slim/slim": "2.*", "hybridauth/hybridauth": "2.3.0" } }</code>Composer.json 파일에 다음 코드를 추가하여 모델 클래스의 PSR-4 자동 로더를 등록하십시오.
<code>return [ "base_url" => "http://slim.local/", "providers" => [ "Google" => [ "enabled" => true, "keys" => [ "id" => "", "secret" => "" ], ], "Facebook" => [ "enabled" => true, "keys" => [ "id" => "", "secret" => "" ], "trustForwarded" => false ], "Twitter" => [ "enabled" => true, "keys" => [ "key" => "", "secret" => "" ] ], ], "debug_mode" => true, "debug_file" => "bug.txt", ];</code>
파일을 재생하려면 run . composer dump-autoload
응용 프로그램 논리
vendor/autoload.php
index.php
<code>require 'vendor/autoload.php'; $hybridauth = new Hybrid_Auth( 'config.php' );</code>
다음 함수는 경로에 매개 변수로 추가되면 사용자가 로그인하지 않으면 로그인 페이지로 리디렉션됩니다.
<code>$adapter = $hybridauth->authenticate( "Facebook" );</code>
로그인 된 사용자를 앱의 홈페이지 또는 인덱스 페이지에 액세스 할 때 로그인 페이지로 리디렉션합니다.
<code>$adapter = $hybridauth->authenticate( "Twitter" );</code>
를 클릭하면 Hybridauth는 사용자를 Facebook로 리디렉션하여 승인합니다. Twitter
성공적인 승인 후 <code>$adapter = $hybridauth->authenticate( "Google" );</code>
<code>$user_profile = $adapter->getUserProfile();</code>
Hybridauth 방법을 호출하면 사용자를 주어진 소셜 제공자에게 리디렉션합니다. authenticate
<code>"Github" => [
"enabled" => true,
"keys" => [
"id" => "",
"secret" => ""
],
"wrapper" => [ "path" => "providers/GitHub.php", "class" => "Hybrid_Providers_GitHub" ]
]</code>
이것은 경로를 로그 아웃하는 코드입니다. <p>
</p>
<pre class="brush:php;toolbar:false"><code>$adapter = $hybridauth->authenticate( "Github" );</code></pre> 우리가 모델 클래스에서 논의한 <p> 메소드는 사용자 세션을 파괴하고 사용자의 연결 제공 업체에서 로그 아웃하도록 요청됩니다. <code>http://slim.local/login/facebook
http://slim.local/login/twitter
http://slim.local/login/google
<code>|-scr/ |----App_Model.php |-templates/ |----login.php |----welcome.php |-vendor/ |-composer.json |-config.php |-hybrid.php |-index.php |-.htaccess</code>결론
authenticate()
이 기사에서는 강력하고 강력한 Hybridauth PHP 라이브러리를 사용하여 소셜 로그인 기능을 웹 사이트와 통합하는 방법을 배웠습니다.
PHP 및 Hybridauth와 함께 소셜 로그인을위한 FAQ (FAQ) 및 Hybridauth $user_profile
예, Hybridauth는 여러 웹 사이트에서 사용할 수 있습니다. 각 웹 사이트에 올바른 콜백 URL 구성 라이브러리를 사용하면됩니다. 따라서 여러 웹 사이트를 관리하는 개발자에게 유연한 솔루션이됩니다.
예, 소셜 로그인 버튼의 모양과 스타일을 사용자 정의 할 수 있습니다. Hybridauth는 소셜 로그인 기능을 제공하지만 버튼의 설계 및 레이아웃은 전적으로 귀하에게 달려 있습니다.
예, Hybridauth는 프레임 워크가 아니며 PHP 프레임 워크와 함께 사용할 수 있습니다. 이를 통해 다른 PHP 프레임 워크를 사용하는 개발자에게는 다양한 선택이됩니다.
위 내용은 Hybridauth와 PHP의 소셜 로그의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!