구글 api 사용 등록
(1) 구글 개발자센터 : https://console.developers.google.com/
① 상단 좌측 ‘프로젝트 선택’ -> ‘새 프로젝트’

② ‘API 및 서비스’ -> 라이브러리 ‘Google People API’ 사용 선택
③ ‘OAuth 동의 화면’ -> User Type ‘외부’ 선택 후 만들기 -> ‘범위 추가 또는 삭제’ -> People API 선택
④ ‘사용자 인증 정보’ -> ‘OAuth 클라이언트 ID’ 선택 -> 리다이렉션 URL 추가
⑤ 클라이언트 ID, 비밀번호 복사
구글 로그인 프로세스
(1) 구글 로그인 요청 -> 사용자에게 권한 요청 및 동의 -> authrization code 요청 (GET)
https://accounts.google.com/o/oauth2/auth
?client_id={GoogleClientId}
&redirect_uri={GoogleRedirectUri}
&response_type=code
&scope={GoogleScopes}
&access_type=offline
&approval_prompt=force
*scope는 사용자에게 요청할 권한의 범위
*response_type는 권한 부여 동의 요청 시 포함되는 값으로 권한 부여 방식에 대한 설정
*access_type=offline는 사용자가 offline 상태일 때도 접근 가능
(2) authrization code와 함께 승인된 redirect_uri로 리다이렉트
(3) authrization code를 가지고 구글에 access token을 요청 (POST)
https://oauth2.googleapis.com/token
*content-type : x-www-form-urlencoded
*body의 다음 정보를 입력하고 요청
code={code}
&client_id={GoogleClientId}
&client_secret={GoogleClientSecret}
&redirect_uri={GoogleRedirectUri}
&grant_type=authorization_code
(4) 발급 받은 access token을 가지고 사용자의 구글 계정에 대해 구글 api를 사용 (GET)
https://www.googleapis.com/oauth2/v1/userinfo
?access_token={access_token}
(5) 사용자의 구글 계정 정보가 담긴 JSON 문자열을 파싱
{
"id": "사용자일련번호",
"email": "이메일,
"verified_email": true,
"name": "sun ung yang"
}
(6) 구글 사용자 정보가 db내에 있는지 조회
(7) db내에 구글 사용자 정보가 있으면 로그인, 없다면 회원가입 페이지로 이동
'프로그래밍 언어 > C#' 카테고리의 다른 글
| 애플 api 사용하여 SNS 로그인 연동 (0) | 2023.09.20 |
|---|---|
| [ASP.NET][C#] Response 개체 (0) | 2023.02.17 |
| [ASP.NET][C#] Request 개체 (0) | 2023.02.17 |
| [ASP.NET][C#] Web Forms 이벤트 처리 (0) | 2023.02.16 |
| [ASP.NET][C#] postback 포스트백 (0) | 2023.02.16 |
댓글