728x90
오늘은 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 스터디한 내용을 정리해 보는 포스팅을 가지겠습니다.
spring-security-oauth2-autoconfigure
위 라이브러리를 통해 스프링 부트 2환경에서 스프링부트 1.5환경의 설정들을 그대로 사용가능합니다.
스프링 부트 1.5방식에서는 url주소를 모두 명시해야 하지만, 스프링부트 2에서는 client인증 정보만 입력해도 된다는 차이점이 있습니다.
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Getter
@NoArgsConstructor
@Entity
public class User extends BaseTimeEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String email;
@Column
private String picture;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private Role role;
@Builder
public User(String name, String email, String picture, Role role) {
this.name = name;
this.email = email;
this.picture = picture;
this.role = role;
}
public User update(String name, String picture) {
this.name = name;
this.picture = picture;
return this;
}
public String getRoleKey() {
return this.role.getKey();
}
}
<실제 실행되지 않는 예시 코드입니다.>
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@Getter
@RequiredArgsConstructor
public enum Role {
GUEST("ROLE_GUEST", "손님"),
USER("ROLE_USER", "일반 사용자");
private final String key;
private final String title;
}
스프링 시큐리티에서는 권한 코드에 항상 ROLE_이 있어야합니다.
spring-boot-starter-oauth2-client
소셜로그인 기능 구현시 필요한 의존성
'IT > Spring' 카테고리의 다른 글
[모각코] 모각코를 마무리하며... (0) | 2021.08.27 |
---|---|
MongoRepository & MongoTemplate (0) | 2021.08.23 |
[모각코] Spring JPA (0) | 2021.08.09 |
[모각코] Spring 외부접속 (0) | 2021.07.19 |
[모각코] Spring 2일차 (0) | 2021.07.16 |