OpenAPI를 통한 인증

이 페이지에서는 OpenAPI를 이용해 ChzzkClient를 로그인하는 방법에 대해 설명합니다.

직접 인증 토큰을 기입하는 방식

치지직의 인증 토큰을 직접 기입해 인증하는 방법입니다.

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 서버를 열어 인증 토큰을 얻는 방식

잠시 동안 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의 액세스 토큰을 갱신할 수 있습니다.

client.refreshTokenAsync().join();

Last updated