[FIX] allow ``/oauth/userinfo`` GET request with json content-type #3

Open
bgallet wants to merge 1 commits from bgallet/galicea-odoo-addons-ecosystem:12.0-patch-get-request-odoo into 12.0
  1. 27
      galicea_openid_connect/controllers/main.py

27
galicea_openid_connect/controllers/main.py

@ -410,3 +410,30 @@ class Main(http.Controller):
response=None,
status=302,
)
from odoo.http import Root, HttpRequest
def patch_get_request(f):
"""Allow ``/oauth/userinfo`` GET request to be accepted for outline
Outline (and probably other services) can implement OIDC by adding a
``content-type`` set to "application/json". This makes odoo 14 use
JsonRequest object that will refuse the request.
This is monkey-patching, and is not meant to be a final solution, but
only a temporary one.
"""
def patched(self, httprequest):
if httprequest.path == "/oauth/userinfo" and \
httprequest.method == "GET":
return HttpRequest(httprequest)
return f(self, httprequest)
return patched
Root.get_request = patch_get_request(Root.get_request)
Loading…
Cancel
Save