클라이언트 인증하기¶
chzzkpy 패키지의 일부 기능을 이용하기 위해서는 API 인증이 필요합니다.
Client¶
먼저 인증을 진행하기 위해서는 Generate an Application 페이지의 내용을 완료해주세요.
위 과정을 마치면 클라이언트를 인증하기 위한 `Client ID`와 `Client Secret`키를 발급받을 수 있습니다.이 두 개의 키를 이용하여 클라이언트 인증을 진행할 수 있습니다.
import chzzkpy
client_id = "CLIENT ID"
client_secret = "CLIENT SECRET"
client = chzzkpy.Client(client_id, client_secret)
User Client¶
참고
먼저 UserClient
인증이 되어 있어야 합니다.
UserClient의 인증은 OAuth2 절차에 따릅니다. UserClient의 인증 방법은 2가지가 있습니다.
generate_authorization_token_url
함수와:class:generate_user_client<chzzkpy.client.Client.generate_user_client> 함수를 이용하는 방법authorization_url = client.generate_authorization_token_url( redirect_url="https://localhost:8080/", state="abcd12345" ) print(f"Please login with this url: {authorization_url}") code = input("Please input response code: ") user_client = await client.generate_user_client(code, "abcd12345") # await user_client.fetch_self() print(user_client.channel_id)
generate_authorization_token_url
함수를 이용하여 OAuth2를 진행할 URL을 받습니다. 서드파티 인증을 성공하게 되면, 리다이렉션 URL로 이동하게 될 것입니다. 리다이렉션 URL에는 인증에 사용되는 `code`를 포함하고 있습니다.generate_user_client
함수의매개변수에 리다이렉션 URL에 포함되어 있던 code 매개변수를 입력해주세요.임시 HTTP 서버와
Client.login
함수를 이용하는 방법user_client = await client.login()
만약
client.login
호출하게 되면인증을 위한 임시 웹 서버가 가동되게 되며, 서드파티 인증을 위한 웹브라우저가 열리게 됩니다.인증을 마치게 된다면UserClient
객체를 반환받고,임시 웹서버는 닫히게 됩니다.
(레거시) Client / ChatClient¶
비공식 API를 기반으로 하고 있는 client<chzzkpy.unofficial.client.Client>`는 통신 과정에서 주고받는 `NID_AUT
, NID_SES 쿠키를 이용하여 인증을 진행합니다.이 쿠키는 네이버 개인 계정을 증명하는 값으로 외부에 공유해서는 안됩니다.
import chzzkpy.unofficial
NID_AUT = "Authenticate Cookie key"
NID_SES = "Session Cookie key"
client = chzzkpy.unofficial.Client()
client.login(NID_AUT, NID_SES)