yt-dlp support two main authentication schemes:
- Username/password based authentication
- OpenID authentification
Username/password based authentication
To enable this authentication scheme edit your config.yml and add the following lines:
Provide your config.yml to yt-dlp-webui:
OpenID authentification
To enable this authentication scheme you need an OpenID authentication provider (e.g. Google Oauth2), a client_id and a client_secret.
The requirements can be obtained from your authentication provider, for example, Google make them available here https://console.cloud.google.com/apis/credentials.
The callback URL is https://localhost:3033/auth/openid/signin where https://localhost:3033 is where yt-dlp-web-ui is exposed, a real-like application would be something served by a reverse-proxy (e.g. https://yt-dlp-webui.yourdomain.tld/auth/openid/signin)
Edit your config.yml with the following keys:
Provide your config.yml to yt-dlp-webui:
API Authentication
About the API authentication: there's three methods to provide the token:
- cookies: cookie named
jwt-yt-dlp-webui
- query params:
?token=yourjwttoken
- headers:
X-Authentication header
How to obtain the token
where http://localhost:3033 will be replaced with your ip/hostname.
The JWT token will be returned in the response.
Execute requests with token
As described before, with token or query params.
Here's an example using query params: