네이버 로그인에 대해 문의드려요
본문
네이버 로그인에는 문외한이라서 이제 막 배우고 있습니다.
위의 사진처럼 신청했구요. 아직 승인요청은 하지 않은 상태입니다.
사이트에서 네이버로그인을 클릭하면 브라우져에 네이버 로그인이 되어있으면 바로 아래 그림으로 내려가더군요..
회원가입을 클릭하면 위의 내용데로 회원가입이 되더라구요...
확인해 보면 아래그림과 같구요...
[문의]
1. mb_name은 메일의 아이디로 갖고 오는거 같은데요. 이걸 실명으로 입력되게 하는 법은 없나요?
2. 네아로신청시 회원휴대전화 및 성별에 체크했는데요.. 왜 디비 저장시에는 mb_hp, mb_sex 필드에 저장이 안되나요? 저장할 수 잇는 방법이 있다면 좀 알려주세요.
3. 로그인 플러스가 있던데요.. 현재 그누5 v5.6.2에서도 플러스도 사용가능한가요?
질문이 좀 많습니다...ㅠㅠ
이제서야 네아로를 적용하려다보니 모르는게 넘 많네요...
고수님들 좀 알려주세요~~~~~~~~~~
답변 2
★ '네아로'는 "테스트용 클라이언트 ID"를 주지 않으니,
. . . 네이버 API 승인요청이 완료되지 않은 상태에서는 ~ (승인 처리는 1~3일)
- 네이버 API 응답 형식에 맞는 JSON 데이터를 생성하고,
이를 응답으로 가정하여 개발을 진행하여 보세요.
* 예제
// 네이버 API 응답 Test_Data
$mockResponse = json_encode([
"id" => "123456789",
"name" => "소수리꼬",
"email" => "sosuriggo'골뱅이'naver.com",
"mobile" => "aaa-bbbb-cccc",
"gender" => "M"
]);
// Test_Data를 실제 API 응답처럼 사용
$response = json_decode($mockResponse, true);
$mb_name = $response['name']; // "소수리꼬"
$mb_email = $response['email']; // "sosuriggo'골뱅이'naver.com"
$mb_hp = $response['mobile']; // "aaa-bbbb-cccc"
$mb_sex = $response['gender']; // "M"
. . .
- '회원이름' 대신 '네이버 아이디'가 로드된 것은 API 응답 처리 과정에서
response.id
(고유 아이디)를 잘못 매핑했을 가능성이 있습니다.
* mb_name
필드에 response.name
값을 저장
$response = json_decode($apiResponse, true);
$mb_name = $response['name'];
- 네이버 로그인 API에서 response.mobile
과 response.gender
필드는 (폰번호, 성별)
사용자가 네이버 로그인 동의 화면에서 추가 동의를 하지 않으면 제공되지 않습니다.
* PHP 코드에서 해당 값이 null인지 확인하고,
동의되지 않은 경우 경고 메시지를 추가하거나 동의를 유도하는 플로우를 만드세요.
if (isset($response['mobile'])) {
$mb_hp = $response['mobile'];
} else {
$mb_hp = null;
}
if (isset($response['gender'])) {
$mb_sex = $response['gender'];
} else {
$mb_sex = null;
}
- 로그인 플러스 사용 가능할 것입니다.
* 기존 네이버 로그인 API 코드에 추가적인 수정이 필요할 것입니다.
* OTP와 함께 로그인 요청
// OTP 파라미터 추가
$requestUrl = "https://nid.naver.com/oauth2.0/authorize";
$requestUrl .= "?client_id=" . $client_id;
$requestUrl .= "&response_type=code";
$requestUrl .= "&redirect_uri=" . urlencode($redirect_uri);
$requestUrl .= "&state=" . $state;
$requestUrl .= "&auth_type=OTP"; // 플러스 추가
♣ 요약
- response.name
필드를 올바르게 저장하도록 수정
- 폰 번호, 성별 가져오기 ;
네이버 로그인 동의 항목 설정을 필수로 지정하고,
응답 데이터에서 값을 확인하는 로직을 추가.
- "로그인 플러스"를 그누보드5.6.2에서도 충분히 연동 가능하며,
네이버 개발자 센터에서 활성화 후 필요한 API 요청을 수정.
!-->!-->!-->!-->
추가정보는 승인 이후 가져오기 때문에 개발 모드에서는 안되실거에요