mirror of
https://github.com/yawaflua/Flask-Discord.git
synced 2025-12-10 12:29:30 +02:00
✔ Properly raise an Exception when user cancels the flow while OAuth grant
This commit is contained in:
@@ -58,3 +58,6 @@ Exceptions
|
|||||||
|
|
||||||
.. autoclass:: flask_discord.Unauthorized
|
.. autoclass:: flask_discord.Unauthorized
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: flask_discord.AccessDenied
|
||||||
|
:members:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import jwt
|
|||||||
import typing
|
import typing
|
||||||
import discord
|
import discord
|
||||||
|
|
||||||
from . import configs, _http, models, utils
|
from . import configs, _http, models, utils, exceptions
|
||||||
|
|
||||||
from oauthlib.common import add_params_to_uri
|
from oauthlib.common import add_params_to_uri
|
||||||
from flask import request, session, redirect, current_app
|
from flask import request, session, redirect, current_app
|
||||||
@@ -144,8 +144,12 @@ class DiscordOAuth2Session(_http.DiscordOAuth2HttpClient):
|
|||||||
`session <http://flask.pocoo.org/docs/1.0/api/#flask.session>`_ object.
|
`session <http://flask.pocoo.org/docs/1.0/api/#flask.session>`_ object.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if request.values.get("error"):
|
error = request.values.get("error")
|
||||||
return request.values["error"]
|
if error:
|
||||||
|
if error == "access_denied":
|
||||||
|
raise exceptions.AccessDenied()
|
||||||
|
raise exceptions.HttpException(error)
|
||||||
|
|
||||||
state = self.__get_state()
|
state = self.__get_state()
|
||||||
token = self._fetch_token(state)
|
token = self._fetch_token(state)
|
||||||
self.save_authorization_token(token)
|
self.save_authorization_token(token)
|
||||||
|
|||||||
@@ -42,3 +42,7 @@ class RateLimited(HttpException):
|
|||||||
|
|
||||||
class Unauthorized(HttpException):
|
class Unauthorized(HttpException):
|
||||||
"""A HTTP Exception raised when user is not authorized."""
|
"""A HTTP Exception raised when user is not authorized."""
|
||||||
|
|
||||||
|
|
||||||
|
class AccessDenied(HttpException):
|
||||||
|
"""Exception raised when user cancels OAuth authorization grant."""
|
||||||
|
|||||||
Reference in New Issue
Block a user