Generate a User Auth Token Headless =================================== This is a example on how to integrate :const:`~twitchAPI.oauth.UserAuthenticator` into your headless app. This example uses the popular server software `flask `__ but it can easily adapted to other software. .. note:: Please make sure to add your redirect URL (in this example the value of ``MY_URL``) as a "OAuth Redirect URL" `here in your twitch dev dashboard `__ While this example works as is, it is highly likely that you need to modify this heavily in accordance with your use case. .. code-block:: python import asyncio from twitchAPI.twitch import Twitch from twitchAPI.oauth import UserAuthenticator from twitchAPI.type import AuthScope, TwitchAPIException from flask import Flask, redirect, request APP_ID = 'my_app_id' APP_SECRET = 'my_app_secret' TARGET_SCOPE = [AuthScope.CHAT_EDIT, AuthScope.CHAT_READ] MY_URL = 'http://localhost:5000/login/confirm' app = Flask(__name__) twitch: Twitch auth: UserAuthenticator @app.route('/login') def login(): return redirect(auth.return_auth_url()) @app.route('/login/confirm') async def login_confirm(): state = request.args.get('state') if state != auth.state: return 'Bad state', 401 code = request.args.get('code') if code is None: return 'Missing code', 400 try: token, refresh = await auth.authenticate(user_token=code) await twitch.set_user_authentication(token, TARGET_SCOPE, refresh) except TwitchAPIException as e: return 'Failed to generate auth token', 400 return 'Sucessfully authenticated!' async def twitch_setup(): global twitch, auth twitch = await Twitch(APP_ID, APP_SECRET) auth = UserAuthenticator(twitch, TARGET_SCOPE, url=MY_URL) asyncio.run(twitch_setup())