From 2352bed02408b3c784ca51c8ad5b88f949d3d555 Mon Sep 17 00:00:00 2001 From: roland Date: Wed, 13 Nov 2019 16:00:31 +0100 Subject: [PATCH] According to spec the POST body uses the application/x-www-form-urlencoded encoding. --- CHANGELOG.md | 2 ++ src/oic/oic/provider.py | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bea736b0..61775efa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,10 @@ The format is based on the [KeepAChangeLog] project. ### Fixed - [#711] Deal with no post_logout_redirect_uri +- [#712] Set Content-Type on BackChannel logout POST. [#711]: https://github.com/OpenIDC/pyoidc/pull/711 +[#712]: https://github.com/OpenIDC/pyoidc/pull/712 ## 1.1.1 [2019-11-04] diff --git a/src/oic/oic/provider.py b/src/oic/oic/provider.py index 757bb4132..36aac38b8 100644 --- a/src/oic/oic/provider.py +++ b/src/oic/oic/provider.py @@ -2282,13 +2282,17 @@ def do_verified_logout( # take care of Back channel logout first if logout_spec["back_channel"]: failed = [] + headers = {"Content-Type": "application/x-www-form-urlencoded"} for _cid, spec in logout_spec["back_channel"].items(): _url, sjwt = spec logger.info("logging out from {} at {}".format(_cid, _url)) try: res = self.httpc.http_request( - _url, "POST", data="logout_token={}".format(sjwt) + _url, + "POST", + data="logout_token={}".format(sjwt), + headers=headers, ) except Exception as err: # Can't be more specific because I don't know which http client are used