일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 백준
- coding test
- spring
- ps
- 코테
- IntelliJ
- Project
- MVC
- Java
- React
- 스프링
- SpringBoot
- spring boot
- 취준생
- 디자인패턴
- 공유DB
- 코딩테스트
- MariaDB
- 자바
- gradle
- jdk11
- Controller
- AWS
- JDK
- 자취
- 팀프로젝트
- 프로젝트
- javascript
- 입출력
- JPA
Archives
- Today
- Total
Tech Collection
[Login] Google Login API - JavaScript, JSP 본문
728x90
반응형
1. Google Cloud Platform 로그인 후 접속
2. 프로젝트 만들기
프로젝트 선택
새 프로젝트 누르고 프로젝트 생성
3. 사용자 인증 정보 만들기
API키, OAuth 클라이언트 ID 두 가지 모두 발급하기
4. OAuth 클라이언트 ID
웹 애플리케이션 선택 후 이름 설정하기
URI > URI 추가 후 프로젝트 실행주소 앞부분 입력
저장 후 생성되는 클라이언트 ID, 클라이언트 보안 비밀 기억해두기!
5. JavaScript 생성하기
https://developers.google.com/identity/sign-in/web/reference
head 태그사이에 넣기
...
<meta name="google-signin-client_id" content="클라이언트ID">
<script src="https://apis.google.com/js/platform.js" async defer></script>
...
방금 발급 받은 클라이언트 ID 를 content에 넣기
body 태그 안에 구글 로그인 버튼 넣기
<!-- 구글 로그인 버튼 노출 영역 -->
<div class="g-signin2" onclick='onSignIn()'></div>
<!-- //구글 로그인 버튼 노출 영역 -->
body 태그 밑에 script 생성
<script type="text/javascript">
function onSignIn() {
// 페이지 로딩 시 자동으로 값들고오지 않게 끔 설정
var profile = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile();
id = profile.getId();
username = profile.getName();
img = profile.getImageUrl();
email = profile.getEmail();
alert('로그인 완료');
post_to_url( "최종 로그인 할 URL",
{'id': id, 'username': username, 'email': email, 'img': img})
}
function post_to_url(path, params, method='post') {
const form = document.createElement('form');
form.method = method;
form.action = path;
for(const key in params) {
if(params.hasOwnProperty(key)) {
const hiddenField = document.createElement('input');
hiddenField.type = 'hidden';
hiddenField.name = key;
hiddenField.value = params[key];
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
</script>
onSignIn 함수의 post_to_url 의 첫번째 파라미터는 최종적으로 로그인을 수행하는(정보를 넘길) 페이지 주소 입력
로그인 버튼 클릭 후 로그인되면 성공!
728x90
반응형
'Build > Note' 카테고리의 다른 글
[Spring Structure] @Controller? @RestController? (0) | 2021.01.19 |
---|---|
[Api 활용] Open Api 의 자료를 json으로 가져오기 (2) | 2021.01.18 |
[Setting] MariaDB와 SpringBoot를 연동하자! (0) | 2021.01.11 |
[Setting] Spring Boot 생성 (0) | 2021.01.09 |
[Login] Naver Login API - Javascript, JSP (0) | 2020.12.24 |