클라이언트 인증하기

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가지가 있습니다.

  1. 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 매개변수를 입력해주세요.

  2. 임시 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)