wir haben eine Discourse-Installation, die nur auf Einladung funktioniert. Wenn wir eine Einladung senden, soll der Empfänger die Einladung nur dann annehmen können, wenn ein bestimmtes Client-Zertifikat im Browser vorhanden ist.
Haben Sie einen Hinweis, wie man das umsetzen kann?
Ist es auch möglich, ein Zertifikatsfeld zu verwenden und es als Benutzerfeld in der Benutzerinstanz zu speichern? Wenn wir also beispielsweise das Ablaufdatum speichern möchten, ist das möglich?
Der Anwendungsfall ist folgender: Es gibt hier eine Organisation, die Unternehmen anhand dieser Client-Zertifikate authentifiziert. Wir versuchen, eine Discourse-Instanz einzurichten, auf die nur diese Unternehmen Zugriff haben. Basierend auf dem von @michaeld bereitgestellten nginx-Snippet scheint das ziemlich einfach zu sein.
In diesem Zertifikat ist auch eine Unternehmensnummer enthalten. Wir möchten diese Nummer extrahieren und in der Discourse-Instanz verfügbar machen. Auf diese Weise können die Unternehmen sich leicht finden und sind allein anhand ihrer Unternehmensnummer identifizierbar.
Ich hoffe, das ist jetzt klar. Falls nicht, fragen Sie gerne.
Wow, das klingt weniger albern, als ich gedacht hätte!
Kann man sich darauf verlassen, dass Mitarbeiter dieser Firmen eine Firmen-E-Mail-Adresse verwenden? Das wäre viel einfacher als ein Plugin, das das Zertifikat auslesen könnte. Man könnte es sogar rückwärts auf die Firmennummer mappen, falls diese Nummer irgendwie sehr wichtig ist.