구글 아이디로 로그인하는 걸 해보려고 구글링해서 몇가지를 테스트해봤는데 이것은 동작된다.
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 연동방식은 블로그에 올려진 걸 찾아서 변경하면 됩니다.
받아서 도움되신 분은 공감 꾸욱 눌러주세요~~
'Web 프로그램 > 회원가입과 로그인' 카테고리의 다른 글
[PHP] member Class (0) | 2017.10.27 |
---|---|
[jQuery] E-Mail 유효성 검사 (0) | 2017.02.04 |
HTML5 index 처리 흐름도 (0) | 2016.11.07 |
[중급] 로그인 체크 함수 (0) | 2016.09.28 |
jQuery ajax POST 처리 - 아이디 중복 체크 (0) | 2016.08.10 |