We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Login/logout should not redirect back to homepage
Currently, the web app redirects to the homepage when clicking the login/logout button, regardless of which page the user was currently on.  We should switch this so that the page redirects to the page the user was on. 

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `jwql/website/apps/jwql/oauth.py`
Content:
```
1 """Provides an OAuth object for authentication of the ``jwql`` web app,
2 as well as decorator functions to require user authentication in other
3 views of the web application.
4 
5 
6 Authors
7 -------
8 
9     - Matthew Bourque
10     - Christian Mesh
11 
12 Use
13 ---
14 
15     This module is intended to be imported and used as such:
16     ::
17 
18         from .oauth import auth_info
19         from .oauth import auth_required
20         from .oauth import JWQL_OAUTH
21 
22         @auth_info
23         def some_view(request):
24             pass
25 
26         @auth_required
27         def login(request):
28             pass
29 
30 References
31 ----------
32     Much of this code was taken from the ``authlib`` documentation,
33     found here: ``http://docs.authlib.org/en/latest/client/django.html``
34 
35 Dependencies
36 ------------
37     The user must have a configuration file named ``config.json``
38     placed in the ``jwql/utils/`` directory.
39 """
40 
41 import os
42 import requests
43 
44 from authlib.django.client import OAuth
45 from django.shortcuts import redirect, render
46 
47 import jwql
48 from jwql.utils.constants import MONITORS
49 from jwql.utils.utils import get_base_url, get_config
50 
51 
52 def register_oauth():
53     """Register the ``jwql`` application with the ``auth.mast``
54     authentication service.
55 
56     Returns
57     -------
58     oauth : Object
59         An object containing methods to authenticate a user, provided
60         by the ``auth.mast`` service.
61     """
62 
63     # Get configuration parameters
64     client_id = get_config()['client_id']
65     client_secret = get_config()['client_secret']
66     auth_mast = get_config()['auth_mast']
67 
68     # Register with auth.mast
69     oauth = OAuth()
70     client_kwargs = {'scope': 'mast:user:info'}
71     oauth.register(
72         'mast_auth',
73         client_id='{}'.format(client_id),
74         client_secret='{}'.format(client_secret),
75         access_token_url='https://{}/oauth/access_token?client_secret={}'.format(auth_mast, client_secret),
76         access_token_params=None,
77         refresh_token_url=None,
78         authorize_url='https://{}/oauth/authorize'.format(auth_mast),
79         api_base_url='https://{}/1.1/'.format(auth_mast),
80         client_kwargs=client_kwargs)
81 
82     return oauth
83 
84 JWQL_OAUTH = register_oauth()
85 
86 
87 def authorize(request):
88     """Spawn the authentication process for the user
89 
90     The authentication process involves retreiving an access token
91     from ``auth.mast`` and porting the data to a cookie.
92 
93     Parameters
94     ----------
95     request : HttpRequest object
96         Incoming request from the webpage
97 
98     Returns
99     -------
100     HttpResponse object
101         Outgoing response sent to the webpage
102     """
103 
104     # Get auth.mast token
105     token = JWQL_OAUTH.mast_auth.authorize_access_token(request, headers={'Accept': 'application/json'})
106 
107     # Determine domain
108     base_url = get_base_url()
109     if '127' in base_url:
110         domain = '127.0.0.1'
111     else:
112         domain = base_url.split('//')[-1]
113 
114     # Set secure cookie parameters
115     cookie_args = {}
116     # cookie_args['domain'] = domain  # Currently broken
117     # cookie_args['secure'] = True  # Currently broken
118     cookie_args['httponly'] = True
119 
120     # Set the cookie
121     response = redirect("/")
122     response.set_cookie("ASB-AUTH", token["access_token"], **cookie_args)
123 
124     return response
125 
126 
127 def auth_info(fn):
128     """A decorator function that will return user credentials along
129     with what is returned by the original function.
130 
131     Parameters
132     ----------
133     fn : function
134         The function to decorate
135 
136     Returns
137     -------
138     user_info : function
139         The decorated function
140     """
141 
142     def user_info(request, **kwargs):
143         """Store authenticated user credentials in a cookie and return
144         it.  If the user is not authenticated, store no credentials in
145         the cookie.
146 
147         Parameters
148         ----------
149         request : HttpRequest object
150             Incoming request from the webpage
151 
152         Returns
153         -------
154         fn : function
155             The decorated function
156         """
157 
158         cookie = request.COOKIES.get("ASB-AUTH")
159 
160         # If user is authenticated, return user credentials
161         if cookie is not None:
162             response = requests.get(
163                 'https://{}/info'.format(get_config()['auth_mast']),
164                 headers={'Accept': 'application/json',
165                          'Authorization': 'token {}'.format(cookie)})
166             response = response.json()
167 
168         # If user is not authenticated, return no credentials
169         else:
170             response = {'ezid': None, "anon": True}
171 
172         return fn(request, response, **kwargs)
173 
174     return user_info
175 
176 
177 def auth_required(fn):
178     """A decorator function that requires the given function to have
179     authentication through ``auth.mast`` set up.
180 
181     Parameters
182     ----------
183     fn : function
184         The function to decorate
185 
186     Returns
187     -------
188     check_auth : function
189         The decorated function
190     """
191 
192     @auth_info
193     def check_auth(request, user, **kwargs):
194         """Check if the user is authenticated through ``auth.mast``.
195         If not, perform the authorization.
196 
197         Parameters
198         ----------
199         request : HttpRequest object
200             Incoming request from the webpage
201         user : dict
202             A dictionary of user credentials
203 
204         Returns
205         -------
206         fn : function
207             The decorated function
208         """
209 
210         # If user is currently anonymous, require a login
211         if user['ezid']:
212 
213             return fn(request, user, **kwargs)
214 
215         else:
216             template = 'not_authenticated.html'
217             context = {'inst': ''}
218 
219             return render(request, template, context)
220 
221     return check_auth
222 
223 
224 @auth_info
225 def login(request, user):
226     """Spawn a login process for the user
227 
228     The ``auth_requred`` decorator is used to require that the user
229     authenticate through ``auth.mast``, then the user is redirected
230     back to the homepage.
231 
232     Parameters
233     ----------
234     request : HttpRequest object
235         Incoming request from the webpage
236     user : dict
237         A dictionary of user credentials.
238 
239     Returns
240     -------
241     HttpResponse object
242         Outgoing response sent to the webpage
243     """
244 
245     # Redirect to oauth login
246     redirect_uri = os.path.join(get_base_url(), 'authorize')
247     return JWQL_OAUTH.mast_auth.authorize_redirect(request, redirect_uri)
248 
249 
250 def logout(request):
251     """Spawn a logout process for the user
252 
253     Upon logout, the user's ``auth.mast`` credientials are removed and
254     the user is redirected back to the homepage.
255 
256     Parameters
257     ----------
258     request : HttpRequest object
259         Incoming request from the webpage
260     user : dict
261         A dictionary of user credentials.
262 
263     Returns
264     -------
265     HttpResponse object
266         Outgoing response sent to the webpage
267     """
268 
269     response = redirect("/")
270     response.delete_cookie("ASB-AUTH")
271 
272     return response
273
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/jwql/website/apps/jwql/oauth.py b/jwql/website/apps/jwql/oauth.py
--- a/jwql/website/apps/jwql/oauth.py
+++ b/jwql/website/apps/jwql/oauth.py
@@ -48,6 +48,8 @@
 from jwql.utils.constants import MONITORS
 from jwql.utils.utils import get_base_url, get_config
 
+PREV_PAGE = ''
+
 
 def register_oauth():
     """Register the ``jwql`` application with the ``auth.mast``
@@ -118,7 +120,7 @@
     cookie_args['httponly'] = True
 
     # Set the cookie
-    response = redirect("/")
+    response = redirect(PREV_PAGE)
     response.set_cookie("ASB-AUTH", token["access_token"], **cookie_args)
 
     return response
@@ -243,7 +245,10 @@
     """
 
     # Redirect to oauth login
+    global PREV_PAGE
+    PREV_PAGE = request.META.get('HTTP_REFERER')
     redirect_uri = os.path.join(get_base_url(), 'authorize')
+
     return JWQL_OAUTH.mast_auth.authorize_redirect(request, redirect_uri)
 
 
@@ -266,7 +271,9 @@
         Outgoing response sent to the webpage
     """
 
-    response = redirect("/")
+    global PREV_PAGE
+    PREV_PAGE = request.META.get('HTTP_REFERER')
+    response = redirect(PREV_PAGE)
     response.delete_cookie("ASB-AUTH")
 
     return response

{"golden_diff": "diff --git a/jwql/website/apps/jwql/oauth.py b/jwql/website/apps/jwql/oauth.py\n--- a/jwql/website/apps/jwql/oauth.py\n+++ b/jwql/website/apps/jwql/oauth.py\n@@ -48,6 +48,8 @@\n from jwql.utils.constants import MONITORS\n from jwql.utils.utils import get_base_url, get_config\n \n+PREV_PAGE = ''\n+\n \n def register_oauth():\n     \"\"\"Register the ``jwql`` application with the ``auth.mast``\n@@ -118,7 +120,7 @@\n     cookie_args['httponly'] = True\n \n     # Set the cookie\n-    response = redirect(\"/\")\n+    response = redirect(PREV_PAGE)\n     response.set_cookie(\"ASB-AUTH\", token[\"access_token\"], **cookie_args)\n \n     return response\n@@ -243,7 +245,10 @@\n     \"\"\"\n \n     # Redirect to oauth login\n+    global PREV_PAGE\n+    PREV_PAGE = request.META.get('HTTP_REFERER')\n     redirect_uri = os.path.join(get_base_url(), 'authorize')\n+\n     return JWQL_OAUTH.mast_auth.authorize_redirect(request, redirect_uri)\n \n \n@@ -266,7 +271,9 @@\n         Outgoing response sent to the webpage\n     \"\"\"\n \n-    response = redirect(\"/\")\n+    global PREV_PAGE\n+    PREV_PAGE = request.META.get('HTTP_REFERER')\n+    response = redirect(PREV_PAGE)\n     response.delete_cookie(\"ASB-AUTH\")\n \n     return response\n", "issue": "Login/logout should not redirect back to homepage\nCurrently, the web app redirects to the homepage when clicking the login/logout button, regardless of which page the user was currently on.  We should switch this so that the page redirects to the page the user was on. \n", "before_files": [{"content": "\"\"\"Provides an OAuth object for authentication of the ``jwql`` web app,\nas well as decorator functions to require user authentication in other\nviews of the web application.\n\n\nAuthors\n-------\n\n    - Matthew Bourque\n    - Christian Mesh\n\nUse\n---\n\n    This module is intended to be imported and used as such:\n    ::\n\n        from .oauth import auth_info\n        from .oauth import auth_required\n        from .oauth import JWQL_OAUTH\n\n        @auth_info\n        def some_view(request):\n            pass\n\n        @auth_required\n        def login(request):\n            pass\n\nReferences\n----------\n    Much of this code was taken from the ``authlib`` documentation,\n    found here: ``http://docs.authlib.org/en/latest/client/django.html``\n\nDependencies\n------------\n    The user must have a configuration file named ``config.json``\n    placed in the ``jwql/utils/`` directory.\n\"\"\"\n\nimport os\nimport requests\n\nfrom authlib.django.client import OAuth\nfrom django.shortcuts import redirect, render\n\nimport jwql\nfrom jwql.utils.constants import MONITORS\nfrom jwql.utils.utils import get_base_url, get_config\n\n\ndef register_oauth():\n    \"\"\"Register the ``jwql`` application with the ``auth.mast``\n    authentication service.\n\n    Returns\n    -------\n    oauth : Object\n        An object containing methods to authenticate a user, provided\n        by the ``auth.mast`` service.\n    \"\"\"\n\n    # Get configuration parameters\n    client_id = get_config()['client_id']\n    client_secret = get_config()['client_secret']\n    auth_mast = get_config()['auth_mast']\n\n    # Register with auth.mast\n    oauth = OAuth()\n    client_kwargs = {'scope': 'mast:user:info'}\n    oauth.register(\n        'mast_auth',\n        client_id='{}'.format(client_id),\n        client_secret='{}'.format(client_secret),\n        access_token_url='https://{}/oauth/access_token?client_secret={}'.format(auth_mast, client_secret),\n        access_token_params=None,\n        refresh_token_url=None,\n        authorize_url='https://{}/oauth/authorize'.format(auth_mast),\n        api_base_url='https://{}/1.1/'.format(auth_mast),\n        client_kwargs=client_kwargs)\n\n    return oauth\n\nJWQL_OAUTH = register_oauth()\n\n\ndef authorize(request):\n    \"\"\"Spawn the authentication process for the user\n\n    The authentication process involves retreiving an access token\n    from ``auth.mast`` and porting the data to a cookie.\n\n    Parameters\n    ----------\n    request : HttpRequest object\n        Incoming request from the webpage\n\n    Returns\n    -------\n    HttpResponse object\n        Outgoing response sent to the webpage\n    \"\"\"\n\n    # Get auth.mast token\n    token = JWQL_OAUTH.mast_auth.authorize_access_token(request, headers={'Accept': 'application/json'})\n\n    # Determine domain\n    base_url = get_base_url()\n    if '127' in base_url:\n        domain = '127.0.0.1'\n    else:\n        domain = base_url.split('//')[-1]\n\n    # Set secure cookie parameters\n    cookie_args = {}\n    # cookie_args['domain'] = domain  # Currently broken\n    # cookie_args['secure'] = True  # Currently broken\n    cookie_args['httponly'] = True\n\n    # Set the cookie\n    response = redirect(\"/\")\n    response.set_cookie(\"ASB-AUTH\", token[\"access_token\"], **cookie_args)\n\n    return response\n\n\ndef auth_info(fn):\n    \"\"\"A decorator function that will return user credentials along\n    with what is returned by the original function.\n\n    Parameters\n    ----------\n    fn : function\n        The function to decorate\n\n    Returns\n    -------\n    user_info : function\n        The decorated function\n    \"\"\"\n\n    def user_info(request, **kwargs):\n        \"\"\"Store authenticated user credentials in a cookie and return\n        it.  If the user is not authenticated, store no credentials in\n        the cookie.\n\n        Parameters\n        ----------\n        request : HttpRequest object\n            Incoming request from the webpage\n\n        Returns\n        -------\n        fn : function\n            The decorated function\n        \"\"\"\n\n        cookie = request.COOKIES.get(\"ASB-AUTH\")\n\n        # If user is authenticated, return user credentials\n        if cookie is not None:\n            response = requests.get(\n                'https://{}/info'.format(get_config()['auth_mast']),\n                headers={'Accept': 'application/json',\n                         'Authorization': 'token {}'.format(cookie)})\n            response = response.json()\n\n        # If user is not authenticated, return no credentials\n        else:\n            response = {'ezid': None, \"anon\": True}\n\n        return fn(request, response, **kwargs)\n\n    return user_info\n\n\ndef auth_required(fn):\n    \"\"\"A decorator function that requires the given function to have\n    authentication through ``auth.mast`` set up.\n\n    Parameters\n    ----------\n    fn : function\n        The function to decorate\n\n    Returns\n    -------\n    check_auth : function\n        The decorated function\n    \"\"\"\n\n    @auth_info\n    def check_auth(request, user, **kwargs):\n        \"\"\"Check if the user is authenticated through ``auth.mast``.\n        If not, perform the authorization.\n\n        Parameters\n        ----------\n        request : HttpRequest object\n            Incoming request from the webpage\n        user : dict\n            A dictionary of user credentials\n\n        Returns\n        -------\n        fn : function\n            The decorated function\n        \"\"\"\n\n        # If user is currently anonymous, require a login\n        if user['ezid']:\n\n            return fn(request, user, **kwargs)\n\n        else:\n            template = 'not_authenticated.html'\n            context = {'inst': ''}\n\n            return render(request, template, context)\n\n    return check_auth\n\n\n@auth_info\ndef login(request, user):\n    \"\"\"Spawn a login process for the user\n\n    The ``auth_requred`` decorator is used to require that the user\n    authenticate through ``auth.mast``, then the user is redirected\n    back to the homepage.\n\n    Parameters\n    ----------\n    request : HttpRequest object\n        Incoming request from the webpage\n    user : dict\n        A dictionary of user credentials.\n\n    Returns\n    -------\n    HttpResponse object\n        Outgoing response sent to the webpage\n    \"\"\"\n\n    # Redirect to oauth login\n    redirect_uri = os.path.join(get_base_url(), 'authorize')\n    return JWQL_OAUTH.mast_auth.authorize_redirect(request, redirect_uri)\n\n\ndef logout(request):\n    \"\"\"Spawn a logout process for the user\n\n    Upon logout, the user's ``auth.mast`` credientials are removed and\n    the user is redirected back to the homepage.\n\n    Parameters\n    ----------\n    request : HttpRequest object\n        Incoming request from the webpage\n    user : dict\n        A dictionary of user credentials.\n\n    Returns\n    -------\n    HttpResponse object\n        Outgoing response sent to the webpage\n    \"\"\"\n\n    response = redirect(\"/\")\n    response.delete_cookie(\"ASB-AUTH\")\n\n    return response\n", "path": "jwql/website/apps/jwql/oauth.py"}], "after_files": [{"content": "\"\"\"Provides an OAuth object for authentication of the ``jwql`` web app,\nas well as decorator functions to require user authentication in other\nviews of the web application.\n\n\nAuthors\n-------\n\n    - Matthew Bourque\n    - Christian Mesh\n\nUse\n---\n\n    This module is intended to be imported and used as such:\n    ::\n\n        from .oauth import auth_info\n        from .oauth import auth_required\n        from .oauth import JWQL_OAUTH\n\n        @auth_info\n        def some_view(request):\n            pass\n\n        @auth_required\n        def login(request):\n            pass\n\nReferences\n----------\n    Much of this code was taken from the ``authlib`` documentation,\n    found here: ``http://docs.authlib.org/en/latest/client/django.html``\n\nDependencies\n------------\n    The user must have a configuration file named ``config.json``\n    placed in the ``jwql/utils/`` directory.\n\"\"\"\n\nimport os\nimport requests\n\nfrom authlib.django.client import OAuth\nfrom django.shortcuts import redirect, render\n\nimport jwql\nfrom jwql.utils.constants import MONITORS\nfrom jwql.utils.utils import get_base_url, get_config\n\nPREV_PAGE = ''\n\n\ndef register_oauth():\n    \"\"\"Register the ``jwql`` application with the ``auth.mast``\n    authentication service.\n\n    Returns\n    -------\n    oauth : Object\n        An object containing methods to authenticate a user, provided\n        by the ``auth.mast`` service.\n    \"\"\"\n\n    # Get configuration parameters\n    client_id = get_config()['client_id']\n    client_secret = get_config()['client_secret']\n    auth_mast = get_config()['auth_mast']\n\n    # Register with auth.mast\n    oauth = OAuth()\n    client_kwargs = {'scope': 'mast:user:info'}\n    oauth.register(\n        'mast_auth',\n        client_id='{}'.format(client_id),\n        client_secret='{}'.format(client_secret),\n        access_token_url='https://{}/oauth/access_token?client_secret={}'.format(auth_mast, client_secret),\n        access_token_params=None,\n        refresh_token_url=None,\n        authorize_url='https://{}/oauth/authorize'.format(auth_mast),\n        api_base_url='https://{}/1.1/'.format(auth_mast),\n        client_kwargs=client_kwargs)\n\n    return oauth\n\nJWQL_OAUTH = register_oauth()\n\n\ndef authorize(request):\n    \"\"\"Spawn the authentication process for the user\n\n    The authentication process involves retreiving an access token\n    from ``auth.mast`` and porting the data to a cookie.\n\n    Parameters\n    ----------\n    request : HttpRequest object\n        Incoming request from the webpage\n\n    Returns\n    -------\n    HttpResponse object\n        Outgoing response sent to the webpage\n    \"\"\"\n\n    # Get auth.mast token\n    token = JWQL_OAUTH.mast_auth.authorize_access_token(request, headers={'Accept': 'application/json'})\n\n    # Determine domain\n    base_url = get_base_url()\n    if '127' in base_url:\n        domain = '127.0.0.1'\n    else:\n        domain = base_url.split('//')[-1]\n\n    # Set secure cookie parameters\n    cookie_args = {}\n    # cookie_args['domain'] = domain  # Currently broken\n    # cookie_args['secure'] = True  # Currently broken\n    cookie_args['httponly'] = True\n\n    # Set the cookie\n    response = redirect(PREV_PAGE)\n    response.set_cookie(\"ASB-AUTH\", token[\"access_token\"], **cookie_args)\n\n    return response\n\n\ndef auth_info(fn):\n    \"\"\"A decorator function that will return user credentials along\n    with what is returned by the original function.\n\n    Parameters\n    ----------\n    fn : function\n        The function to decorate\n\n    Returns\n    -------\n    user_info : function\n        The decorated function\n    \"\"\"\n\n    def user_info(request, **kwargs):\n        \"\"\"Store authenticated user credentials in a cookie and return\n        it.  If the user is not authenticated, store no credentials in\n        the cookie.\n\n        Parameters\n        ----------\n        request : HttpRequest object\n            Incoming request from the webpage\n\n        Returns\n        -------\n        fn : function\n            The decorated function\n        \"\"\"\n\n        cookie = request.COOKIES.get(\"ASB-AUTH\")\n\n        # If user is authenticated, return user credentials\n        if cookie is not None:\n            response = requests.get(\n                'https://{}/info'.format(get_config()['auth_mast']),\n                headers={'Accept': 'application/json',\n                         'Authorization': 'token {}'.format(cookie)})\n            response = response.json()\n\n        # If user is not authenticated, return no credentials\n        else:\n            response = {'ezid': None, \"anon\": True}\n\n        return fn(request, response, **kwargs)\n\n    return user_info\n\n\ndef auth_required(fn):\n    \"\"\"A decorator function that requires the given function to have\n    authentication through ``auth.mast`` set up.\n\n    Parameters\n    ----------\n    fn : function\n        The function to decorate\n\n    Returns\n    -------\n    check_auth : function\n        The decorated function\n    \"\"\"\n\n    @auth_info\n    def check_auth(request, user, **kwargs):\n        \"\"\"Check if the user is authenticated through ``auth.mast``.\n        If not, perform the authorization.\n\n        Parameters\n        ----------\n        request : HttpRequest object\n            Incoming request from the webpage\n        user : dict\n            A dictionary of user credentials\n\n        Returns\n        -------\n        fn : function\n            The decorated function\n        \"\"\"\n\n        # If user is currently anonymous, require a login\n        if user['ezid']:\n\n            return fn(request, user, **kwargs)\n\n        else:\n            template = 'not_authenticated.html'\n            context = {'inst': ''}\n\n            return render(request, template, context)\n\n    return check_auth\n\n\n@auth_info\ndef login(request, user):\n    \"\"\"Spawn a login process for the user\n\n    The ``auth_requred`` decorator is used to require that the user\n    authenticate through ``auth.mast``, then the user is redirected\n    back to the homepage.\n\n    Parameters\n    ----------\n    request : HttpRequest object\n        Incoming request from the webpage\n    user : dict\n        A dictionary of user credentials.\n\n    Returns\n    -------\n    HttpResponse object\n        Outgoing response sent to the webpage\n    \"\"\"\n\n    # Redirect to oauth login\n    global PREV_PAGE\n    PREV_PAGE = request.META.get('HTTP_REFERER')\n    redirect_uri = os.path.join(get_base_url(), 'authorize')\n\n    return JWQL_OAUTH.mast_auth.authorize_redirect(request, redirect_uri)\n\n\ndef logout(request):\n    \"\"\"Spawn a logout process for the user\n\n    Upon logout, the user's ``auth.mast`` credientials are removed and\n    the user is redirected back to the homepage.\n\n    Parameters\n    ----------\n    request : HttpRequest object\n        Incoming request from the webpage\n    user : dict\n        A dictionary of user credentials.\n\n    Returns\n    -------\n    HttpResponse object\n        Outgoing response sent to the webpage\n    \"\"\"\n\n    global PREV_PAGE\n    PREV_PAGE = request.META.get('HTTP_REFERER')\n    response = redirect(PREV_PAGE)\n    response.delete_cookie(\"ASB-AUTH\")\n\n    return response\n", "path": "jwql/website/apps/jwql/oauth.py"}]}