SocialProvider
socialiteproviders 이용하는 방법
socialite를 이용하여 커스텀 provider를 만들어 적용하려고 할때 그냥 적용하는 것은 복잡할 수 있는데 socialiteproviders/manager라는 벤더를 이용하면 커스텀적용이 쉽게 가능하다.
확실한 구조를 알고싶다면 socialiteproviders/naver와 같은 다른 서비스의 oauth 벤더를 다운받아 뜯어보면 되고 현재 작성하는 글도 다른 서비스의 구조를 뜯어 비슷하게 적용한 사례이다.
우선 socialiteproviders/manager를 설치해주면된다.
1. 환경 설정 해주기
//config/services.php
return [
//...
'saramin' => [
'client_id' => env('SARAMIN_ID'),
'client_secret' => env('SARAMIN_SECRET'),
'redirect' => env('SARAMIN_CALLBACK'),
],
//...
];
//config/app.php
'providers' => [
//...
\SocialiteProviders\Manager\ServiceProvider::class,
],
'aliases' => [
//...
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]위와 같이 services.php와 app.php에 추가해주고 .env에 가서 services.php의 3개의 항목에 대해 정보를 기입해주어야 한다.
2. Provider 추가
3. ProviderManager 생성
saramin의 socialite가 불렸을때 생성한 Provider를 실행할 수 있도록 Provider를 생성해주어야 한다.
4. EventServiceProvider의 listen에 ProviderManager 추가
5. Controller 생성
위와 같이 Controller까지 생성해준후 web.php에 라우터만 등록을 시켜주면 적용이 된다!!
Socialiteproviders가 아닌 Socialite만 이용한 방법
1. 설정파일과 Provider 생성
첫번째의 방법과 거의 동일하나 app.php에서 providers의 정보만 수정해주면 된다.
2. AppServiceProvider에 사람인Provider 등록
boot()메서드는 다른 서비스 프로바이더들이 등록된 이후에 호출되기 때문에 Socialite에 위와 같이 접근하여 Provider를 추가해줄 수 있다.
Last updated