GAuth SDK 사용법 - Java
‣
담당자 - 조재영#2319
의존성 추가
gradle
build.gradle의
repositories
// build.gradle
maven { url 'https://jitpack.io' }
// or
// build.gradle.kts
maven { url = uri("https://jitpack.io") }
dependencies
// build.gradle
implementation 'com.github.GSM-MSG:GAuth-SDK-Java:v2.0.1'
// or
// build.gradle.kts
implementation("com.github.GSM-MSG:GAuth-SDK-Java:v2.0.1")
maven
pom.xml
repositories
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
dependencies
<dependency>
<groupId>com.github.GSM-MSG</groupId>
<artifactId>GAuth-SDK-Java</artifactId>
<version>v2.0.1</version>
</dependency>
빈등록과 DI의 경우는 스프링으로 진행하는 경우에만 헤당
Bean 등록
@Bean
public GAuth gauth() {
return new GAuthImpl();
}
DI
@Component
public class Component{
private GAuth gAuth;
public Component(GAuth gAuth){
this.gAuth = gAuth;
}
}
코드발급
gAuth.generateCode(email, password);
해당 메서드를 사용해서 코드를 발급받을 수 있다.
public class GAuthCode {
private String code;
}
코드 발급후 해당 객체를 리턴한다.
토큰 발급
gAuth.generateToken(email, password, clientId, clientSecret, redirectUri);
이메일, 패스워드, 클라이언트 아이디, 클라이언트 시크릿, 리다이렉트 uri를 사용해서 토큰을 발급할 수도 있고
gAuth.generateToken(code, clientId, clientSecret, redirectUri);
코드, 클라이언트 아이디, 클라이언트 시크릿, 리다이렉트 uri를 사용해서 발급할 수도 있다.
public class GAuthToken {
private String accessToken;
private String refreshToken;
}
토큰 발급후 해당 객체를 리턴한다.
토큰 재발급
gAuth.refresh(refreshToken);
refreshToken을 통해서 토큰을 발급할 수 있다.
public class GAuthToken {
private String accessToken;
private String refreshToken;
}
토큰 발급후 해당 객체를 리턴한다.
유저 정보
gAuth.getUserInfo(accessToken);
accessToken을 이용해서 유저정보를 가져올 수 있다.
public class GAuthUserInfo {
private String email;
private String name;
private Integer grade;
private Integer classNum;
private Integer num;
private String gender; // MALE | FEMALE
private String profileUrl;
private String role; // ROLE_STUDENT | ROLE_TEACHER
}
유저 정보를 해당 객체에 담아서 리턴한다.
예외
응답코드가 200이 아니면 예외코드를 담은 GAuthException을 던짐