-
ASP.NET - 카카오 로그인스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7/ASP.NET 2023. 6. 16. 16:53
*https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
1. 내 어플리케이션 -> 활성화 설정 ON and Redirect URI 등록

2-1. 문서 -> JavaScript -> JS SDK 데모 클릭

2-2 카카오 로그인 버튼 HTML코드에 넣기

3. 로그인시 받아올 KaKao 컨트롤러와 Oauth 함수 생성
*카카오로그인 클릭시 ~/kakao/oauth로 요청이 들어온다

4. 카카오에 토큰을 받아오고 그 토큰을 이용해 사용자 정보를 가져온다
// http 요청 코드 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://kauth.kakao.com/oauth/token"); ///토큰받기/// request.Method = "POST"; request.Headers["Content-type"] = "application/x-www-form-urlencoded;charset=utf-8"; string grant_type = "grant_type=authorization_code"; // authorization_code로 고정 string client_id = "&client_id=앱 REST API 키"; string redirect_uri = "&redirect_uri=인가 코드가 리다이렉트된 URI"; code = "&code=" + code; // 로그인 버튼 클릭시 받아오는 code 데이터 string data = grant_type + client_id + redirect_uri + code; request.GetRequestStream().Write(Encoding.ASCII.GetBytes(data), 0, data.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); JsonNode json = JsonObject.Parse(responseString); // 받아온 토큰데이터 ///사용자 가져오기/// request = (HttpWebRequest)WebRequest.Create("https://kapi.kakao.com/v2/user/me"); request.Method = "POST"; request.Headers["Content-type"] = "application/x-www-form-urlencoded;charset=utf-8"; request.Headers["Authorization"] = "Bearer " + json["access_token"].ToString(); data = "property_keys=[\"kakao_account.email\"]"; // 가져오고 싶은 사용자 데이터 request.GetRequestStream().Write(Encoding.ASCII.GetBytes(data), 0, data.Length); response = (HttpWebResponse)request.GetResponse(); responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); json = JsonObject.Parse(responseString);'스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7 > ASP.NET' 카테고리의 다른 글
ASP.NET - Cookies, Session (0) 2023.06.19 ASP.NET - Routeing (0) 2023.06.19 ASP.NET - Redis (0) 2023.06.15 ASP.NET - XSS (0) 2023.06.15 ASP.NET - SQL Injection (0) 2023.06.15