Google 로그인을 사용하여 애플리케이션에서 OAuth2 인증. Google API에 대한 지속적인 액세스. oAuth란 무엇인가요? Xamarin을 통합하는 방법 모바일 애플리케이션에 대한 인증
Google을 사용하면 한 번의 클릭으로 웹사이트에 등록할 수 있다는 것을 알고 계셨습니까? Google 계정이 있는 사람은 누구나 버튼을 클릭하기만 하면 스크립트가 자동으로 이메일, 이름, 사진을 애플리케이션에 업로드합니다.
이 로그인/등록 옵션을 사용하면 더 나은 사용자 경험을 만들 수 있습니다. 다음은 몇 가지 이점입니다.
로그인 양식을 확인하거나 양식을 생성할 필요가 전혀 없습니다.
"비밀번호 찾기" 기능은 필요하지 않습니다.
이메일 주소는 이미 Google에서 확인되었으므로 확인 메일을 보낼 필요가 없습니다.
물론 이는 Google 계정이 있는 경우에만 작동하므로 이 등록 시스템 외에 추가 작업을 수행하는 것이 좋습니다.
애플리케이션 설정첫 번째 단계는 Google API 콘솔을 통해 애플리케이션을 만드는 것입니다. 자세한 내용은 지침을 따르십시오. 프로세스가 완료되면 받은 키를 setup.php에 넣습니다.
PhpMyAdmin 또는 다른 MySQL 관리 도구에서 Schema.sql(다운로드 아카이브에서 찾을 수 있음)에서 코드를 실행합니다. 그러면 애플리케이션의 사용자 계정에 대한 정보를 저장하는 데 사용되는 데이터베이스에 glogin_users 테이블이 생성됩니다. 그런 다음 setup.php에 데이터베이스 연결 세부 정보를 작성하세요.
Idiorm 라이브러리는 데이터베이스를 읽고 삽입하는 데 사용됩니다. 우리는 다음과 같은 PHP 페이지를 생성할 것입니다:
index.php – 메인 애플리케이션 파일;
setup.php – Google에서 발행한 데이터베이스 및 키에 대한 연결입니다.
관용구 라이브러리 폴더, Google PHP 라이브러리.
index.php의 첫 번째 부분에 대한 코드를 살펴보겠습니다.
200?"200px":""+(this.scrollHeight+5)+"px");">"setup.php"가 필요합니다.
// 새로운 Google API 클라이언트 생성
$client = 새로운 apiClient();
//$client->setApplicationName("Tutorialzine");
// 구성
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setDeveloperKey($api_key);
$client->setRedirectUri($redirect_url);
$client->setApprovalPrompt(false);
$oauth2 = 새로운 apiOauth2Service($client);
// 코드 매개변수는 이것이
// 임시 코드가 포함된 Google의 리디렉션
if (isset($_GET["code"])) (
// 이 메소드는 Google로부터 실제 액세스 토큰을 얻습니다.
// 사용자 정보를 요청할 수 있도록
$클라이언트->인증();
// 사용자 데이터를 가져옵니다.
$info = $oauth2->userinfo->get();
// 데이터베이스에서 이 사람을 찾습니다.
$person = ORM::for_table("glogin_users")->where("email", $info["email"])->find_one();
If(!$사람)(
// 그런 사람은 발견되지 않았습니다. 등록하다!
$person = ORM::for_table("glogin_users")->create();
// DB에 삽입할 속성을 설정합니다.
$person->email = $info["email"];
$사람->이름 = $info["이름"];
If(isset($info["그림"]))(
// 사용자가 공개 Google 계정 사진을 설정한 경우
$person->사진 = $info["사진"];
}
또 다른(
//그렇지 않으면 기본값을 사용합니다.
$person->photo = "assets/img/default_avatar.jpg";
}
// 데이터베이스에 레코드를 삽입합니다.
$사람->저장();
}
// 사용자 ID를 세션에 저장합니다.
$_SESSION["user_id"] = $person->id();
// 기본 데모 URL로 리디렉션
header("위치: $redirect_url");
출구;
}
//로그아웃 처리
if (isset($_GET["logout"])) (
unset($_SESSION["user_id"]);
}
$사람 = null;
if(isset($_SESSION["user_id"]))(
// 데이터베이스에서 사람을 가져옵니다.
$person = ORM::for_table("glogin_users")->find_one($_SESSION["user_id"]);
}
![](https://i2.wp.com/yraaa.ru/_pu/14/21692166.jpg)
HTML 코드는 index.php 페이지의 아래쪽 절반을 차지합니다. Google을 통해 승인을 받은 후 여기에 사용자 데이터를 표시할 수 있습니다. 페이지 자체는 표준 HTML5 문서입니다.
200?"200px":""+(this.scrollHeight+5)+"px");">
Google 기반 로그인 양식 | 튜토리얼진 데모
로그인 양식