Google 로그인을 사용하여 애플리케이션에서 OAuth2 인증. Google API에 대한 지속적인 액세스. oAuth란 무엇인가요? Xamarin을 통합하는 방법 모바일 애플리케이션에 대한 인증

Google을 사용하면 한 번의 클릭으로 웹사이트에 등록할 수 있다는 것을 알고 계셨습니까? Google 계정이 있는 사람은 누구나 버튼을 클릭하기만 하면 스크립트가 자동으로 이메일, 이름, 사진을 애플리케이션에 업로드합니다.
이 로그인/등록 옵션을 사용하면 더 나은 사용자 경험을 만들 수 있습니다. 다음은 몇 가지 이점입니다.

로그인 양식을 확인하거나 양식을 생성할 필요가 전혀 없습니다.

"비밀번호 찾기" 기능은 필요하지 않습니다.

이메일 주소는 이미 Google에서 확인되었으므로 확인 메일을 보낼 필요가 없습니다.

물론 이는 Google 계정이 있는 경우에만 작동하므로 이 등록 시스템 외에 추가 작업을 수행하는 것이 좋습니다.

애플리케이션 설정

첫 번째 단계는 Google API 콘솔을 통해 애플리케이션을 만드는 것입니다. 자세한 내용은 지침을 따르십시오. 프로세스가 완료되면 받은 키를 setup.php에 넣습니다.
PhpMyAdmin 또는 다른 MySQL 관리 도구에서 Schema.sql(다운로드 아카이브에서 찾을 수 있음)에서 코드를 실행합니다. 그러면 애플리케이션의 사용자 계정에 대한 정보를 저장하는 데 사용되는 데이터베이스에 glogin_users 테이블이 생성됩니다. 그런 다음 setup.php에 데이터베이스 연결 세부 정보를 작성하세요.

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"]);
}



HTML

HTML 코드는 index.php 페이지의 아래쪽 절반을 차지합니다. Google을 통해 승인을 받은 후 여기에 사용자 데이터를 표시할 수 있습니다. 페이지 자체는 표준 HTML5 문서입니다.


200?"200px":""+(this.scrollHeight+5)+"px");">



Google 기반 로그인 양식 | 튜토리얼진 데모






로그인 양식




질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: