-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathAuthService.java
More file actions
33 lines (27 loc) · 1.26 KB
/
AuthService.java
File metadata and controls
33 lines (27 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.yourssu.roomescape.auth;
import com.yourssu.roomescape.auth.dto.LoginRequest;
import com.yourssu.roomescape.exception.CustomException;
import com.yourssu.roomescape.exception.ErrorCode;
import com.yourssu.roomescape.jwt.TokenProvider;
import com.yourssu.roomescape.member.Member;
import com.yourssu.roomescape.member.MemberRepository;
import org.springframework.stereotype.Service;
@Service
public class AuthService {
private final MemberRepository memberRepository;
private final TokenProvider tokenProvider;
public AuthService(TokenProvider tokenProvider, MemberRepository memberRepository) {
this.tokenProvider = tokenProvider;
this.memberRepository = memberRepository;
}
public String login(LoginRequest loginRequest) {
Member member = memberRepository.findByEmailAndPassword(loginRequest.email(), loginRequest.password())
.orElseThrow(() -> new CustomException(ErrorCode.MEMBER_NOT_FOUND));
return tokenProvider.createToken(member.getEmail());
}
public Member checkLogin(String token) {
String payload = tokenProvider.getPayload(token);
return memberRepository.findByEmail(payload)
.orElseThrow(() -> new CustomException(ErrorCode.MEMBER_NOT_FOUND));
}
}