Looks like the connection string for solr core xdb is wrong or the solr core xdb doesn't exist/is not configured correctly.
Can you check if your connection string on xconnect looks like :
<add name="solrCore" connectionString="https://yoursolrdomain:port/solr/XP0_xdb" />
and you can access the core?
The method I went with in the end is to have a httpRequestProcessed pipeline processor that does the following
Check if the tracker contact is not null and the context user is authenticated
Check a custom session variable is set of whether this pipeline has run
Identify the contact and then set the custom session variable is set of whether this pipeline has ...