환경 설정하기

스프링 부트 2.0에서는 보다 확장성 있는 기능 제공

1. google

  1. spring-security-oauth2-autoconfigure를 사용해서 spring boot 1.5의 기능을 그대로 사용 가능
  2. client 인증 정보만 넘겨주면 사용 가능
# application-oauth.properties

# google client id, secret
spring.security.oauth2.client.registration.google.client-id=868024256208-7ordvdqfv6cvb1bp04pamv3ikpnm2rer.apps.googleusercontent.com
spring.security.oauth2.client.registration.google.client-secret=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4

# google scope : ( exclude openId for scalability )
spring.security.oauth2.client.registration.google.scope=profile,email

⇒ 별도의 리다이렉션을 위한 컨트롤러를 만들 필요가 없다.

⇒ 해당 url에 요청을 보내면 google에서 처리해주고, 결과를 우리 api 서버에 반환해줌. ( 그럼 우리는 아래 코드를 통해 별도의 데이터 가공 + 로그인 처리를 해주면 된다. )

2. naver

# naver registration
spring.security.oauth2.client.registration.naver.client-id=h0hoBCfNkCQe8EHQLDFZ
spring.security.oauth2.client.registration.naver.client-secret=2wIKgMAphU
spring.security.oauth2.client.registration.naver.redirect-uri={baseUrl}/{action}/oauth2/code/{registrationId}
spring.security.oauth2.client.registration.naver.authorization_grant_type=authorization_code
spring.security.oauth2.client.registration.naver.scope=name,email,profile_image
spring.security.oauth2.client.registration.naver.client-name=Naver

# naver provider
spring.security.oauth2.client.provider.naver.authorization_uri=https://nid.naver.com/oauth2.0/authorize
spring.security.oauth2.client.provider.naver.token_uri=https://nid.naver.com/oauth2.0/token
spring.security.oauth2.client.provider.naver.user-info-uri=https://openapi.naver.com/v1/nid/me
spring.security.oauth2.client.provider.naver.user_name_attribute=response

3. spring security 설정하기