Issue 7685: Just forward on remoteauth for non legacy-DFRN and other contacts

This commit is contained in:
Michael 2019-12-19 11:02:50 +00:00
parent 1c7bc56cb3
commit 6dbaf34290

View file

@ -5098,8 +5098,7 @@ function api_friendica_remoteauth()
// traditional DFRN // traditional DFRN
$contact = DBA::selectFirst('contact', [], ['uid' => api_user(), 'nurl' => $c_url]); $contact = DBA::selectFirst('contact', [], ['uid' => api_user(), 'nurl' => $c_url]);
if (!DBA::isResult($contact)) {
if (!DBA::isResult($contact) || ($contact['network'] !== Protocol::DFRN)) {
throw new BadRequestException("Unknown contact"); throw new BadRequestException("Unknown contact");
} }
@ -5107,6 +5106,10 @@ function api_friendica_remoteauth()
$dfrn_id = $contact['issued-id'] ?? $contact['dfrn-id']; $dfrn_id = $contact['issued-id'] ?? $contact['dfrn-id'];
if (($contact['network'] !== Protocol::DFRN) || empty($dfrn_id)) {
System::externalRedirect($url ?? $c_url);
}
if ($contact['duplex'] && $contact['issued-id']) { if ($contact['duplex'] && $contact['issued-id']) {
$orig_id = $contact['issued-id']; $orig_id = $contact['issued-id'];
$dfrn_id = '1:' . $orig_id; $dfrn_id = '1:' . $orig_id;