/
SocialOauth.java
32 lines (28 loc) · 1.07 KB
/
SocialOauth.java
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
package org.project.oauth.service.social;
import org.project.oauth.helper.constants.SocialLoginType;
public interface SocialOauth {
/**
* 각 Social Login 페이지로 Redirect 처리할 URL Build
* 사용자로부터 로그인 요청을 받아 Social Login Server 인증용 code 요
*/
String getOauthRedirectURL();
/**
* API Server로부터 받은 code를 활용하여 사용자 인증 정보 요청
* @param code API Server 에서 받아온 code
* @return API 서버로 부터 응답받은 Json 형태의 결과를 string으로 반
*/
String requestAccessToken(String code);
default SocialLoginType type() {
if (this instanceof FacebookOauth) {
return SocialLoginType.FACEBOOK;
} else if (this instanceof GoogleOauth) {
return SocialLoginType.GOOGLE;
} else if (this instanceof NaverOauth) {
return SocialLoginType.NAVER;
} else if (this instanceof KakaoOauth) {
return SocialLoginType.KAKAO;
} else {
return null;
}
}
}