DB설계

data.sql
INSERT INTO permission(id, name) VALUES (1, 'ROLE_USER'), (2, 'ROLE_AUTHOR'), (3, 'ROLE_ADMIN'), ; INSERT INTO part(id, name) VALUES (1, 'USER_GROUP'), (2, 'AUTHOR_GROUP'), (3, 'ADMIN_GROUP)' ; -- USER_GROUP (ROLE_USER) -- AUTHOR_GROUP (ROLE_USER, ROLE_AUTHOR) INSERT INTO part_permission(id, part_id, permission_id) VALUES (1, 1, 1), (2, 2, 1), (3, 2, 2), (4, 3, 3) ; -- user1 비밀번호 : user123 -- user2 비밀번호 : user123 -- author 비밀번호 : author123 -- admin 비밀번호 : user123 INSERT INTO user(email, password, username, nickname, part_id) VALUES ('user1@test.com', '$2a$10$B32L76wyCEGqG/UVKPYk9uqZHCWb7k4ci98VTQ7l.dCEib/kzpKGe', 'user', 'userNick1', 1), ('user2@test.com', '$2a$10$B32L76wyCEGqG/UVKPYk9uqZHCWb7k4ci98VTQ7l.dCEib/kzpKGe', 'user', 'userNick2', 1), ('author@test.com', '$2a$10$SGKM3w/VgEWA8BwCuqvJsOTewYo5rFpTn3UZdrFJGP7ePQE7TdgBG', 'author', 'authorNick', 2), ('admin@test.com', '$2a$10$B32L76wyCEGqG/UVKPYk9uqZHCWb7k4ci98VTQ7l.dCEib/kzpKGe', 'admin', 'admin', 3), ; INSERT INTO writer(follow_count,user_id ) VALUES (0,6);
- JWT 관련 설정을 yml파일에 넣는다.
jwt: header: token issuer: prgrms client-secret: EENY5W0eegTf1naQB2eDeyCLl5kRS2b8xa5c4qLdS0hmVjtbvo8tOyhPMcAmtPuQ expiry-seconds: 3600 // 만료시간을 1시간으로 지정
[JWT 토큰]
- JwtConfig를 만든다.
@Component @Getter @Setter @ConfigurationProperties(prefix = "jwt") public class JwtConfig { private String header; private String issuer; private String clientSecret; private int expirySeconds; }
email을 통해서 토큰을 생성

위에서 만든 토큰을 디코딩할 경우 밑에 응답값으로 내려짐

1차 로그인
→ 이메일과 비밀번호를 통해 로그인 진행
[사용자]

[작가]
