728x90

구글 아이디로 로그인하는 걸 해보려고 구글링해서 몇가지를 테스트해봤는데 이것은 동작된다.


https://www.sanwebe.com/2012/11/login-with-google-api-php

에 가면 파일을 데모를 실행해보고 다운로드 할 수 있다.


테이블 스키마는 변경해야 한다.

사진 경로 길이가 너무 길어서 위 사이트에 나온 스키마 구조로는 에러가 발생한다.

CREATE TABLE IF NOT EXISTS `google_users` (
  `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `google_id` varchar(60) NOT NULL,
  `google_name` varchar(60) NOT NULL,
  `google_email` varchar(60) NOT NULL,
  `google_link` varchar(150) NOT NULL,
  `google_picture_link` varchar(200) NOT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


테이블 스키마는 회원테이블 정보에 가져올 정보를 표시하는 것이므로 굳이 이 테이블이 아니어도 된다.

이 테이블은 구글 회원정보를 가져온다는 걸 보여주는 것이라고 보면 된다.


첨부파일을 받으면 index.php 파일 내용을 수정해야 한다.

// https://console.developers.google.com/ 에서 client ID and secret 생성
$client_id = 'xxxxxxxxxxxxxxxxxx';  // 구글에서 생성한 id 입력
$client_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // 비밀키 입력
$redirect_uri = 'http://abc.com/oauth/google/'; // 본인 도메인으로 수정하세요


$redirect_uri = 'http://localhost/oauth/google/';

localhost 로 설정하면 에러가 발생한다.

Error: redirect_uri_mismatch

The redirect URI in the request, http://localhost/oauth/google/, does not match the ones authorized for the OAuth client.

그러므로 반드시 도메인명을 기록해야 한다. (IP주소 입력한 것은 테스트 안해봤음)

Google OAuth 2.0 Client API Keys 생성방법

https://console.developers.google.com/

https://www.sanwebe.com/2012/10/creating-google-oauth-api-key 에도 설명은 나오고

http://phppot.com/php/php-google-oauth-login/ 에도 나온다.

내가 등록을 참조한 곳은 http://phppot.com/php/php-google-oauth-login/ 이다.

하지만 이 사이트에서 제공하는 소스로는 연동이 잘 안되었다.


생성된 결과 화면이다.


테스트에 사용했던 파일입니다.

MySQLi 가 아닌 MySQL 연동 테스트 입니다. MySQLi 연동방식은 블로그에 올려진 걸 찾아서 변경하면 됩니다.

받아서 도움되신 분은 공감 꾸욱 눌러주세요~~


google_oauth.zip



블로그 이미지

Link2Me

,