From 5d9e8d091bb249e73cb4e7e4835fd94f65c962f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Podkalicki?= <l.podkalicki@gmail.com>
Date: Tue, 2 Aug 2016 23:22:52 +0200
Subject: [PATCH] Fix for #233 (token revocation dosn't work)

---
 flask_oauthlib/provider/oauth2.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/flask_oauthlib/provider/oauth2.py b/flask_oauthlib/provider/oauth2.py
index 27f8f821..bde51d38 100644
--- a/flask_oauthlib/provider/oauth2.py
+++ b/flask_oauthlib/provider/oauth2.py
@@ -536,6 +536,7 @@ def decorated(*args, **kwargs):
                 request.token = token
 
             uri, http_method, body, headers = extract_params()
+            headers['OAUTH2_ADDITIONAL_ENDPOINT'] = True
             ret = server.create_revocation_response(
                 uri, headers=headers, body=body, http_method=http_method)
             return create_response(*ret)
@@ -606,7 +607,7 @@ def is_confidential(client):
                 return True
             return getattr(client, 'is_confidential', False)
         grant_types = ('password', 'authorization_code', 'refresh_token')
-        if request.grant_type in grant_types:
+        if request.grant_type in grant_types or 'OAUTH2_ADDITIONAL_ENDPOINT' in request.headers:
             client = self._clientgetter(request.client_id)
             return (not client) or is_confidential(client)
         return False