05-18 17:53
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

코딩일지

네이버 API 이용해서 로그인하기 2 본문

코딩/JAVA

네이버 API 이용해서 로그인하기 2

여유거북이 2016. 8. 8. 11:18

*먼저 이전 글의 준비과정을 확인해주세요!*

 

그리고 저번엔 깜빡했었는데 저는 자바를 이용해 코딩을 할 예정이기 때문에 eclipse가 무조건 설치되어 있어야 합니다!!

 

 

자, 시작합니다!!

 

일단 main클래스부터 만들어주세요. 이름은 자유롭게~~

 

 

https://developers.naver.com/docs/login/api   <-이 사이트를 보고 따라와주세요!

 

(화질이 깨지는 점 양해바랍니다ㅜㅜ)

main클래스에서는 url정보를 받아오고 그것을 출력하는 게 끝이에요!

 

 

 

그럼 먼저 url을 받아올 String변수를 하나 지정해주세요.

 

저는 String url_1; 이라고 지정했습니다!

 

그 다음, 위의 사진에서 첫번째 요청 URL을 url_1 변수에 대입시켜줍니다.

 

 

 

 

여기까지 완성 되셨나요?

 

이 다음으로는

 

 

밑에 3 요청변수 부분을 처리할 차례에요!!

 

로그인 API는 까다롭게도 요청 변수를 필수적으로 4개나 써야 한답니다..

 

하지만 제가 꼼꼼히 봐드릴테니 걱정마세요!

 

먼저, 요청 변수4개는 response_type, client_id, redirect_uri, state 인데요~

 

response_type는 인증 과정에 대한 내부 구분값으로 'code'로 전송해야 함 이라고 쓰여 있어요.

이 부분은 기본적으로 그냥 code라고 선언해주면 간단합니다!

 

client_id는 애플리케이션 등록 시 발급받은 Client ID 값이라고 되어있죠.

이건 준비과정에서 발급받았던 개인 고유의 id를 말합니다. 저번에 꼭 기억하라고 한거 아시죠?

 

 

redirect_uri는 애플리케이션을 등록 시 입력한 Callback URL 값으로 URL 인코딩을 적용한 값이라고 나와있어요.

전 처음에 이 부분이 헷갈렸는데 잘 알고 있으면 어렵지 않아요!!

요청 변수를 넣을 때 설정한 URL을 그냥 넣는 것이 아니고 이 URL을 한번 인코딩해야 한다는 말이에요!

*URL 인코딩 하는 링크도 나중에 올려드릴게요!!*

 

state는 사이트 간 요청 위조 공격을 방지하기 위해 애플리케이션에서 생성한 상태 토큰값으로,

 URL 인코딩을 적용한 값을 사용한다고 나와있어요. state 부분은 따로 클래스를 만들어서 값을 받아올 거에요!

 

 

 

자! 그럼 요청 변수를 알아봤으니 하나하나 url_1 에 입력시켜볼까요?

 

URL에 변수들을 집어넣으려면 먼저 URL 뒤에 ?를 붙여야해요~~

그리고 여러 변수를 쓴다면 변수들 사이에는 &로 연결시켜줍니다~

 

 

1. response_type는 code라고 선언해줍니다.

2. client_id는 개인 고유의 id를 넣어주고요.

3. redirect_uri 는 어플리케이션 등록 때 썼던 URL을 인코딩 해줍니다!

4. state부분은 다른 클래스에서 입력을 받아와야 하기 때문에 state= 까지만 써줍니다.

 

 

 

자! 여기까지 완성된다면

 

 

이런 형태가 나오겠죠?

 

저는 위에서 제 client_id와 인코딩된 url부분을 가려놨는데

사실 url은 지금 제가 개발중인 사이트라 가렸습니다ㅎㅎ부끄..

 

그럼 일단 main클래스에서 url작성은 state빼고 끝났습니다!

 

state를 불러오는 클래스는 다음 시간에 가져오겠습니다!!

 

 

 

잘 보고 가셨다면 공감이나 댓글 꾸욱~ 부탁드립니다~~

 

좋은 하루 되세요! :)

Comments