Web/PHP

[라라벨] 소셜라이트 네이버 로그인

_sparrow 2020. 4. 18. 22:50
반응형

Oauth로 구글 로그인에 이어서 네이버 로그인을 해보겠습니다.

 

 

1. 설치

컴포저를 사용해서 naver모듈을 먼저 설치해줍시다.

페이스북이나 깃허브 구글과 다르게 네이버는 따로 설치해줘야 합니다.

composer require socialiteproviders/naver

 

 

2. Service Provider 수정하기

 

config/app.php 파일 내부의 코드를 약간 수정해줍니다.

아래의 코드처럼 기존의 Laravel\Socialite\SocialiteServiceProvider ::class를 삭제하고 

SocialiteProviders\Manager\ServiceProvider::class 를 작성해주세요

 

'providers' => [
        SocialiteProviders\Manager\ServiceProvider::class,
//        Laravel\Socialite\SocialiteServiceProvider::class,
]

 

3. Event Listener 수정하기

 

app/Providers/EventServiceProvider.php 파일 내부의 코드를 수정합시다

다른 내용들은 없애주세요.

protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
        ],
        \SocialiteProviders\Manager\SocialiteWasCalled::class => [

            'SocialiteProviders\\Naver\\NaverExtendSocialite@handle'
        ]
    ];

 

4. 네이버 연동을 위한 키, 키 시크릿, 리다이렉트 url 설정하기

config/services.php 파일 내부에 아래의 코드를 추가해주세요

'naver' => [
        'client_id' => env('NAVER_CLIENT_ID'),
        'client_secret' => env('NAVER_CLIENT_SECRET'),
        'redirect' => env('NAVER_REDIRECT')
    ]

 

 

5. 네이버 개발자 센터에서 소셜 로그인을 위한 웹사이트 등록하기

네이버개발자센터 어플리케이션 등록

 

사용 API는 네아로로 선택해주세요.

 

 

API로 제공받을 정보 선택해주세요 (로그인 시에 받을 정보)

네아로 써진부분 위에는 아무것도 선택 안 해도 됩니다.

로그인 오픈 API PC웹으로 설정해주세요

 

 

서비스하는 URL과 네이버 아이디로 로그인해서 정보 받을 Callback URL의 주소가 동일해야 합니다.

example.com가 서비스하는 주소면 example.com/naver/callback 처럼 도메인을 동일하게 지정해주세요

 

지정하고 등록버튼 눌러주면 됩니다.

 

 

생성했던 application 클릭!

 

client ID와 Client Secret을 등록해줘야 합니다. (시크릿 번호는 절대 노출되면 안 됩니다!)

 

다시 라라벨로 돌아가서  .env파일내부에  아래의 코드를 작성해주세요.

 

NAVER_CLIENT_ID=""
NAVER_CLIENT_SECRET=""
NAVER_REDIRECT=""

 

상단에서 봤던 네이버어플리케이션 클라이언트 아이디 , 시크릿키 넣어주면 됩니다.

마지막 REDIRECT는 어플리케이션 목록 생성할 때  callback URL 작성해주면 됩니다.

 

그리고 기존과 동일하게 소셜라이트를 사용하면 됩니다.

 

소셜라이트 사용법은 여기를 참고해주세요.

 

다양한 소셜라이트를 통한 소셜 로그인 연동은 여기를 참고해주세요

 

이해가 안 가는 내용은 댓글 부탁드립니다. :)

반응형