Как отправить bearer токен вместе с RedirectResponse FastApi

Я начал изучение фастапи и захотел сделать регистрацию и авторизацию с формами, у меня есть вот такая html форма для входа в аккаунт, но при отправке данных получается ошибка {"detail":"Not authenticated"}. Как мне сделать правильно доступ к конечной точке '/' только с токеном?

auth.html

<div class="row">
                <form class="row-form" action="/login/user" method="post">
                    <input
                        class="registration_inputs"
                        type="text"
                        required
                        name="username"
                        id="username"
                        placeholder="email"
                    />
                    <input
                        type="text"
                        required
                        class="registration_inputs"
                        name="password"
                        id="password"
                        placeholder="password"
                    />
                    <button type="submit" class="reg-button" >Войти</button>
                    <p class="auth_text">
                        Нет аккаунта?
                        <a href="/register" class="go_auth">Зарегистрироваться</a>
                    </p>
                </form>

Вот весь код для авторизации auth/auth_functions.py

oauth2_bearer = OAuth2PasswordBearer(tokenUrl='token')
config = load_auth_config()
db = Database()


def authenticate_user(bcrypt_context: CryptContext, email: str, password: str):
    user = db.check_user_in_base(email, get_user=True)
    request = {'user': '', 'error': ''}
    if not user:
        request.update({'error': 'Пользователя с такой почтой не существует!'})
    elif not bcrypt_context.verify(password, user.hashed_password):
        request.update({'error': 'Вы ввели неправильный пароль!'})
    else:
        request.update({'user': user})
    return request


def create_access_token(username: str, user_id: int, expires_delta: timedelta):
    encode = {'sub': username, 'id': user_id}
    expires = datetime.utcnow() + expires_delta
    encode.update({'exp': expires})
    return jwt.encode(encode, config.secret_key, algorithm=config.algorithm)


async def get_current_user(
    token: Annotated[str, Depends(oauth2_bearer)],
):
    credentials_exception = HTTPException(
        status_code=status.HTTP_401_UNAUTHORIZED,
        detail="Could not validate credentials",
        headers={"WWW-Authenticate": "Bearer"},
    )
    try:
        payload = jwt.decode(token, config.secret_key, algorithms=[config.algorithm])
        email: str = payload.get("sub")
        if email is None:
            raise credentials_exception
    except JWTError:
        raise credentials_exception
    user = db.check_user_in_base(email)
    if not user:
        raise credentials_exception
    return user

auth/auth.py


    @router.post('/login/user/', response_model=Token)
async def login_for_access_token(form_data: Annotated[OAuth2PasswordRequestForm, Depends()], request: Request):
    user, error = authenticate_user(bcrypt_context, form_data.username, form_data.password).values()
    if not user:
        return templates.TemplateResponse(
            'auth.html', {'request': request,
                          'error': error}
        )
    token = create_access_token(user.email, user.id, timedelta(minutes=1))
    return RedirectResponse('/')

main.py

    @app.post('/')
async def auth_successful(token=Depends(get_current_user)):
    return token


@app.get('/login')
async def login_page(request: Request):
    return templates.TemplateResponse('auth.html', {'request': request})

Ответы (0 шт):