Kate these errors normally indicate that the stated parameters are absent from the request POST.
Here are the said parameters from my LTi simulator that works well with Moodle 3.1 on both Windows 10 localhost and Centos on a remote in the cloud.
$launch_data["lti_version"] = "LTI-1p0";
$launch_data["lti_message_type"] = "basic-lti-launch-request";
$resource_link_id = kkkk
Note like several LTi parameters $resource_link_id must be present but can be any value, or so it would appear from our testing.
consumer_key we set to a string that identifies the consumer. We had hoped it would be used as a prefix to the created user name (as we do not pass real user credentials) but sadly not. We might do a bespoke on this as it would be really useful.