def userinfo_endpoint(self, request, **kwargs):
        access_token = self._parse_access_token(request)
        shr = SignedHttpRequest(self._get_client_public_key(access_token))
        http_signature = self._parse_signature(request)
        try:
            shr.verify(http_signature,
                       method=request["method"],
                       host=request["host"], path=request["path"],
                       query_params=request["query"],
                       headers=request["headers"],
                       body=request["body"],
                       strict_query_param_verification=True,
                       strict_headers_verification=False)
        except __HOLE__:
            return self._error_response("access_denied",
                                        descr="Could not verify proof of "
                                              "possession")

        return self._do_user_info(self.access_tokens[access_token], **kwargs)
dataset/ETHPy150Open rohe/pyoidc/src/oic/extension/proof_of_possesion.py/PoPProvider.userinfo_endpoint