테스트 사이트 - 개발 중인 베타 버전입니다

네이버 로그인에 대해 문의드려요 채택완료

소수리꼬 10개월 전 조회 1,412

네이버 로그인에는 문외한이라서 이제 막 배우고 있습니다.

 

http://sir.kr/data/editor/2412/2948688603_1734144868.8665.jpg" />

 

위의 사진처럼 신청했구요. 아직 승인요청은 하지 않은 상태입니다.

사이트에서 네이버로그인을 클릭하면 브라우져에 네이버 로그인이 되어있으면 바로 아래 그림으로 내려가더군요..

 

http://sir.kr/data/editor/2412/2948688603_1734144943.6667.jpg" />

 

회원가입을 클릭하면 위의 내용데로 회원가입이 되더라구요...

확인해 보면 아래그림과 같구요...

 

http://sir.kr/data/editor/2412/2948688603_1734144991.6906.jpg" width="100%" />

 

[문의]

1. mb_name은 메일의 아이디로 갖고 오는거 같은데요. 이걸 실명으로 입력되게 하는 법은 없나요?

2. 네아로신청시 회원휴대전화 및 성별에 체크했는데요.. 왜 디비 저장시에는 mb_hp, mb_sex 필드에 저장이 안되나요? 저장할 수 잇는 방법이 있다면 좀 알려주세요.

3. 로그인 플러스가 있던데요.. 현재 그누5 v5.6.2에서도 플러스도 사용가능한가요?

 

질문이 좀 많습니다...ㅠㅠ

이제서야 네아로를 적용하려다보니 모르는게 넘 많네요...

고수님들 좀 알려주세요~~~~~~~~~~

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
glitter0gim
10개월 전

★ '네아로'는 "테스트용 클라이언트 ID"를 주지 않으니,

. . . 네이버 API 승인요청이 완료되지 않은 상태에서는 ~ (승인 처리는 1~3일)

- 네이버 API 응답 형식에 맞는 JSON 데이터를 생성하고,

  이를 응답으로 가정하여 개발을 진행하여 보세요.

* 예제

</p>

<p>// 네이버 API 응답 Test_Data

$mockResponse = json_encode([

    "id" => "123456789",

    "name" => "소수리꼬",

    "email" => "sosuriggo'골뱅이'naver.com",

    "mobile" => "aaa-bbbb-cccc",

    "gender" => "M"

]);</p>

<p>// Test_Data를 실제 API 응답처럼 사용

$response = json_decode($mockResponse, true);</p>

<p>$mb_name = $response['name']; // "소수리꼬"

$mb_email = $response['email']; // "sosuriggo'골뱅이'naver.com"

$mb_hp = $response['mobile']; // "aaa-bbbb-cccc"

$mb_sex = $response['gender']; // "M"</p>

<p>

 

. . .

 

- '회원이름' 대신 '네이버 아이디'가 로드된 것은 API 응답 처리 과정에서

response.id(고유 아이디)를 잘못 매핑했을 가능성이 있습니다.

  * mb_name 필드에 response.name 값을 저장

$response = json_decode($apiResponse, true);

$mb_name = $response['name']; </p>

<p>

 

- 네이버 로그인 API에서 response.mobileresponse.gender 필드는 (폰번호, 성별)

사용자가 네이버 로그인 동의 화면에서 추가 동의를 하지 않으면 제공되지 않습니다.

  * PHP 코드에서 해당 값이 null인지 확인하고,

    동의되지 않은 경우 경고 메시지를 추가하거나 동의를 유도하는 플로우를 만드세요.

</p>

<p>if (isset($response['mobile'])) {

    $mb_hp = $response['mobile'];

} else {

    $mb_hp = null;

}</p>

<p>if (isset($response['gender'])) {

    $mb_sex = $response['gender'];

} else {

    $mb_sex = null;

}</p>

<p>

 

- 로그인 플러스 사용 가능할 것입니다. 
  * 기존 네이버 로그인 API 코드에 추가적인 수정이 필요할 것입니다.

  * OTP와 함께 로그인 요청

</p>

<p>// OTP 파라미터 추가

$requestUrl = "<a href="https://nid.naver.com/oauth2.0/authorize";" target="_blank" rel="noopener noreferrer">https://nid.naver.com/oauth2.0/authorize";</a>

$requestUrl .= "?client_id=" . $client_id;

$requestUrl .= "&response_type=code";

$requestUrl .= "&redirect_uri=" . urlencode($redirect_uri);

$requestUrl .= "&state=" . $state;

$requestUrl .= "&auth_type=OTP"; // 플러스 추가</p>

<p>

 

♣ 요약

response.name 필드를 올바르게 저장하도록 수정

- 폰 번호, 성별 가져오기 ;

  네이버 로그인 동의 항목 설정을 필수로 지정하고,

  응답 데이터에서 값을 확인하는 로직을 추가.

- "로그인 플러스"를 그누보드5.6.2에서도 충분히 연동 가능하며,

  네이버 개발자 센터에서 활성화 후 필요한 API 요청을 수정.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10개월 전

추가정보는 승인 이후 가져오기 때문에 개발 모드에서는 안되실거에요

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인