이 페이지에서는 OpenAPI를 이용해 ChzzkClient를 로그인하는 방법에 대해 설명합니다.
현재 치지직의 OpenAPI는 아직 완성되지 않은 상태로 보입니다. 따라서 몇몇 API의 경우는 아직 OpenAPI 인증 방식을 지원하지 않으므로, 되도록이면 두 인증 방식 동시에 사용해주세요.
직접 인증 토큰을 기입하는 방식
치지직의 인증 토큰을 직접 기입해 인증하는 방법입니다.
ChzzkSimpleUserLoginAdapter adapter = new ChzzkSimpleUserLoginAdapter("Access Token", "Refresh Token");
// 혹은 Refresh Token을 null로 둘 수도 있습니다.
ChzzkSimpleUserLoginAdapter adapter = new ChzzkSimpleUserLoginAdapter("Access Token", null);
ChzzkClient client = new ChzzkClientBuilder("API_CLIENT_ID", "API_SECRET")
.withLoginAdapter(adapter)
.build();
client.loginAsync().join();
직접 인증 코드를 기입하는 방식
치지직의 Account Interlock 과정 이후 Redirect되는 URL의 쿼리에 함께 들어오는 code 값을 이용해 인증을 진행합니다.
ChzzkOauthCodeLoginAdapter adapter = new ChzzkOauthCodeLoginAdapter("code 값", "인증시 사용했던 state 값");
ChzzkClient client = new ChzzkClientBuilder("API_CLIENT_ID", "API_SECRET")
.withLoginAdapter(adapter)
.build();
client.loginAsync().join();
임시로 HTTP 서버를 열어 인증 토큰을 얻는 방식
해당 기능은 애플리케이션 개발 과정의 편의를 위해 만들어진 기능으로, 프로덕션 환경에 최적화되지 않았습니다! 동시에 각각 다른 ChzzkClient의 인증 과정을 진행한다면 포트 문제로 오류가 발생합니다. 프로덕션 환경에서는 되도록이면 위의 '인증 코드를 기입하는 방식' 혹은 '인증 토큰을 직접 기입하는 방식'을 사용해주세요.
해당 기능을 사용하기 위해서는 우선 치지직 개발자 센터에서 클라이언트의 Redirect URL을 http://localhost:8080/oauth_callback 으로 수정해주세요!
잠시 동안 HTTP 서버를 열어 인증 토큰을 얻는 방식입니다.
// 기본적으로는 8080 포트에 인증 서버가 열립니다.
var adapter = new ChzzkOauthLoginAdapter();
// 혹은 HTTP 서버의 포트를 직접 기입해줄 수도 있습니다.
var adapter = new ChzzkOauthLoginAdapter(포트);
// Redirect URL의 Host가 다를 경우 이를 설정해줄 수도 있습니다.
var adapter = new ChzzkOauthLoginAdapter("localhost", 포트);
var client = new ChzzkClientBuilder("API_CLIENT_ID", "API_SECRET")
.withDebugMode()
.withLoginAdapter(adapter)
.build();
// 사용자는 이 URL에 접속해 로그인할 수 있습니다.
System.out.println(adapter.getAccountInterlockUrl("API_CLIENT_ID", false));
// loginAsync가 실행되었을 때 사용자가 로그인하기 전까지 HTTP 서버가 가동됩니다.
client.loginAsync().join();
액세스 토큰 갱신하기
ChzzkClient#refreshTokenAsync 를 통해 ChzzkClient의 액세스 토큰을 갱신할 수 있습니다.