MissingRevokeTokenAuthMethodError: Missing revocation endpoint auth method
У меня подключена Янедкс метрика к сайту. Все работало раньше нормально, но сегодня вылезла следующая ошибка -
MissingRevokeTokenAuthMethodError: Missing revocation endpoint auth method.
File "/usr/local/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 584, in _run_script
exec(code, module.__dict__)
File "/app/pages/get_token.py", line 28, in <module>
oauth2 = OAuth2Component(
File "/usr/local/lib/python3.9/site-packages/streamlit_oauth/__init__.py", line 59, in __init__
self.client = OAuth2(
File "/usr/local/lib/python3.9/typing.py", line 687, in __call__
result = self.__origin__(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/httpx_oauth/oauth2.py", line 197, in __init__
raise MissingRevokeTokenAuthMethodError()
Копался в документации но ничего дельного найти не смог, подскажите где можно найти решение проблемы Ниже мой код:
from io import StringIO
from matplotlib import pyplot as plt
import streamlit as st
from streamlit_oauth import OAuth2Component
import os
import pandas as pd
import requests
import matplotlib.pyplot as plt
import plotly.express as px
import datetime as dt
# Load environment variables from .env file
from dotenv import load_dotenv
load_dotenv()
# Set environment variables
AUTHORIZE_URL = os.environ.get("YM_AUTHORIZE_URL")
TOKEN_URL = os.environ.get("YM_TOKEN_URL")
REFRESH_TOKEN_URL = os.environ.get("YM_REFRESH_TOKEN_URL")
REVOKE_TOKEN_URL = os.environ.get("YM_REVOKE_TOKEN_URL")
CLIENT_ID = os.environ.get("YM_CLIENT_ID")
CLIENT_SECRET = os.environ.get("YM_CLIENT_SECRET")
REDIRECT_URI = os.environ.get("YM_REDIRECT_URI")
SCOPE = os.environ.get("YM_SCOPE")
# Create OAuth2Component instance
oauth2 = OAuth2Component(
# CLIENT_ID,
# CLIENT_SECRET,
# AUTHORIZE_URL,
# TOKEN_URL,
# REFRESH_TOKEN_URL,
# REVOKE_TOKEN_URL,
client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
authorize_endpoint="https://oauth.yandex.ru/authorize",
token_endpoint="https://oauth.yandex.ru/token",
refresh_token_endpoint="https://oauth.yandex.ru/token/refresh",
revoke_token_endpoint="https://oauth.yandex.ru/revoke_token",
)
# Check if token exists in session state
if "token" not in st.session_state:
# If not, show authorize button
result = oauth2.authorize_button("Authorize", REDIRECT_URI, SCOPE)
if result and "token" in result:
# If authorization successful, save token in session state
st.session_state.token = result.get("token")
st.rerun()
else:
# If token exists in session state, show the token
token = st.session_state["token"]
st.json(token)
if st.button("Refresh Token"):
# If refresh token button is clicked, refresh the token
token = oauth2.refresh_token(token)
st.session_state.token = token
st.rerun()
if "token" in st.session_state:
st.write(st.session_state["token"])