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 작성해주면 됩니다.
그리고 기존과 동일하게 소셜라이트를 사용하면 됩니다.
소셜라이트 사용법은 여기를 참고해주세요.
다양한 소셜라이트를 통한 소셜 로그인 연동은 여기를 참고해주세요
이해가 안 가는 내용은 댓글 부탁드립니다. :)
'Web > PHP' 카테고리의 다른 글
PHP json 변환, 배열 추가, 부분자르기 (1) | 2020.04.29 |
---|---|
[라라벨] 댓글과 대댓글 페이지네이션 구현하기 (1) | 2020.04.18 |
[라라벨] 댓글 대댓글 DB설계하기 (3) | 2020.04.18 |
[라라벨] 모델과 마이그레이션 (1) | 2020.04.11 |
[라라벨] 소셜라이트로 OAuth 로그인하기 (0) | 2020.04.11 |