Onebox-Weiterleitungen verhindern das Verlinken auf inhalte, die nur nach Anmeldung zugänglich sind

Onebox follows redirects, which is usually a good thing, I guess.

This becomes a problem, however, when you share a link to a page requiring sign-in that simply redirects to a sign-in page when an anonymous user visits it.

For example, if I want to share my top secret project hosted at https://dgit.cs.uni-saarland.de/fefrei/my-top-secret-project/ in the internal category of our Discourse instance, this is what I get by default:

Note that all links in the Onebox go to https://dgit.cs.uni-saarland.de/users/sign_in, which is not helpful.

Of course, as a post author, I can prevent that by using any alternative markup that prevents the Onebox (which can’t show relevant content anyways); but if some other user does this and doesn’t notice, it’s pretty hard to retrieve the actual link.
As staff, I can edit the post to get the raw markup, but as a non-staff user, I think the only feasible workaround is to remember the magic /raw/ URL scheme.

Why does the Onebox link to the final location, not the original URL? Can we do something to improve this?

2 „Gefällt mir“

Why wouldn’t it link to the final location?

I typed https://dgit.cs.uni-saarland.de/fefrei/my-top-secret-project/, why should it link somewhere else?

When I’m redirected to the sign in page, this is fine, because I’m in a session – I can actually log in, and will be redirected back to the target URL.
When Discourse follows the redirect, forgets the original URL and just outputs the sign in URL, the reader has no (easy) way to get to the URL the author linked to.

Well, the workaround is to enter the link with angle brackets. It’s normal and expected to follow link redirects to the final destination.

I know that’s the current behavior, and already mentioned the workaround above:

I stumbled about this because another user fell for this trap, and I had to fish the actual link out of the raw view.

I’m not saying that this is terribad and needs to be fixed now or else; I’m just reporting that I find it sad that a user who simply pasted a link into his post got a Onebox that obfuscates the link in a way that makes it impossible for the average user to understand where to go. (There’s a reason I posted this in feature.)

1 „Gefällt mir“

Ich bin heute auf dieses Verhalten gestoßen und unterstütze eine Änderung im UX.

Der Fall, in dem man nicht auf den endgültigen Standort verlinken möchte, ist, wenn man erwartet, dass die Personen, mit denen man den Link teilt, authentifiziert sind oder sich auf der verlinkten Seite authentifizieren können.

Es gibt auch die optische Komponente: Ich habe einen Link zu einem Discourse-Thread in einer anderen Community gepostet, und der Link wurde so geändert, dass er auf die Anmeldeseite zeigt. Leute fragten mich, ob ich den falschen Link gepostet habe, weil es seltsam ist, absichtlich auf eine Anmeldeseite zu verlinken. Letztendlich ändert dies das, was der Benutzer posten wollte.

Der Workaround ist gültig, aber nicht gut. Wir sollten intelligentere Standardwerte haben, besonders wenn wir eine schlechte UX für den Poster und den Nutzer, der auf den Link klickt, vermeiden wollen.

3 „Gefällt mir“

Ich kann mir keine andere Möglichkeit vorstellen, als die Behandlung von „Anmelden

Wozu bräuchte man so etwas?

Entschuldigung, falls dies die Verwirrung verursacht hat, aber vielleicht war meine ursprüngliche Anfrage unklar. Lassen Sie mich das präzisieren:

Nehmen wir an, der Benutzer verlinkt auf https://example.org/a, aber diese Adresse leitet nur weiter, wenn man nicht eingeloggt ist, auf https://example.org/login. Das aktuelle Verhalten:

  1. Discourse fordert https://example.org/a an und folgt der Umleitung.
  2. Discourse fordert https://example.org/login an und ruft Titel, Bild … ab.
  3. Discourse zeigt eine Onebox mit den von https://example.org/login abgerufenen Informationen an und verlinkt auf https://example.org/login. Die generierte Onebox verlinkt nirgendwo auf https://example.org/a.

Nur der fettgedruckte Teil ist für mich problematisch. Ja, folgen Sie dem Link und holen Sie sich die Informationen von dort, aber die Onebox sollte immer auf die von mir eingegebene URL verlinken.

Es geht hier nicht darum, dass die Onebox Informationen von der Anmeldeseite anzeigt (Was sonst sollte sie anzeigen?), sondern nur darum, dass die Onebox-Erstellung das ursprüngliche Linkziel vollständig verschleiert.

Wenn dies implementiert würde, würde die Onebox in meinem ursprünglichen Beitrag zwar genauso aussehen, aber auf https://dgit.cs.uni-saarland.de/fefrei/my-top-secret-project/ verlinken.

Macht das mehr Sinn? :slight_smile:

3 „Gefällt mir“

Nicht wirklich, da die meisten “Links” im Internet mittlerweile eine Art Weiterleitung sind?

Aber was ist daran falsch? Die Weiterleitung funktioniert auch, wenn der Nutzer darauf klickt, genau so, als wäre der Link nicht Oneboxed…

1 „Gefällt mir“

Ja.

Es ergibt Sinn, dass eine Box auf das verlinkt, worauf du verlinkt hast, und nicht auf die Weiterleitungsadresse. Das löst dieses Problem und bricht nichts, woran ich denken kann.

Wenn alles weiterleitet, ist es umso vernünftiger, den ursprünglichen Link beizubehalten.

3 „Gefällt mir“

Ich stimme dem nicht zu – du willst das endgültige Ziel wissen, nicht die Tatsache, dass du auf einen allgemeinen Link-Verkürzungsdienst geklickt hast. Ich habe hier genau die entgegengesetzte Ansicht.

hey du klickst auf link.is/ghwk4fe3

ist viel weniger nützlich als

hey du klickst auf example.com/funny-article

1 „Gefällt mir“

Aber wir sprechen hier von Oneboxes. Das macht man bei Nicht-Oneboxes ohnehin nicht.
Außerdem habe ich eigentlich nichts dagegen, die finale URL anzuzeigen. Aber wenn man nicht auf die ursprüngliche URL verlinkt, brechen die Links in Szenarien, bei denen eine Anmeldung erforderlich ist, einfach ab :frowning:

5 „Gefällt mir“

Ich stimme dir hier überhaupt nicht zu, aber du solltest das selbst mit einem Beispiel für eine Anmeldeseite ausprobieren. Gibt es Beispiele für private Kategorien in Meta? Stell dir vor, wir hätten eine solche Kategorie, und ich würde in dieser Antwort einen Link posten. Aufgrund der Funktionsweise der One-Boxes würdest du niemals herausfinden können, wohin dieser Link führen sollte, und du könntest ihn auch nicht erreichen.

Ich habe nichts dagegen, dass die One-Box den Inhalt der Zielseite anzeigt, aber wenn die ursprüngliche URL nicht erhalten bleibt, wird jede Chance zerstört, dass die Weiterleitung in diesem Szenario wie vorgesehen funktioniert. Übrigens werden dadurch auch alle Attributierungstags im ursprünglichen Link zerstört.

3 „Gefällt mir“