mirror of
https://github.com/yawaflua/Flask-Discord.git
synced 2025-12-09 20:09:30 +02:00
Use separate _fetch_token method
This commit is contained in:
@@ -8,7 +8,7 @@ import abc
|
||||
from . import configs
|
||||
from . import exceptions
|
||||
|
||||
from flask import session
|
||||
from flask import session, request
|
||||
from collections.abc import Mapping
|
||||
from requests_oauthlib import OAuth2Session
|
||||
|
||||
@@ -58,6 +58,14 @@ class DiscordOAuth2HttpClient(abc.ABC):
|
||||
def _token_updater(token):
|
||||
session["DISCORD_OAUTH2_TOKEN"] = token
|
||||
|
||||
def _fetch_token(self):
|
||||
discord = self._make_session(state=session.get("DISCORD_OAUTH2_STATE"))
|
||||
return discord.fetch_token(
|
||||
configs.DISCORD_TOKEN_URL,
|
||||
client_secret=self.__client_secret,
|
||||
authorization_response=request.url
|
||||
)
|
||||
|
||||
def _make_session(self, token: str = None, state: str = None, scope: list = None) -> OAuth2Session:
|
||||
"""A low level method used for creating OAuth2 session.
|
||||
|
||||
|
||||
@@ -91,12 +91,7 @@ class DiscordOAuth2Session(_http.DiscordOAuth2HttpClient):
|
||||
"""
|
||||
if request.values.get("error"):
|
||||
return request.values["error"]
|
||||
discord = self._make_session(state=session.get("DISCORD_OAUTH2_STATE"))
|
||||
token = discord.fetch_token(
|
||||
configs.DISCORD_TOKEN_URL,
|
||||
client_secret=self.__client_secret,
|
||||
authorization_response=request.url
|
||||
)
|
||||
token = self._fetch_token()
|
||||
self._token_updater(token)
|
||||
|
||||
def revoke(self):
|
||||
|
||||
Reference in New Issue
Block a user