2017-08-14 3 views
0

Ich möchte die Nachricht ändern, die bei der Umsetzung von Grund Auth.The aktuellen Standardmeldung erscheint ist:Ändern von Basic HTTP Authentication Realm und Login-Dialog-Nachricht

enter image description here

Server erfordert einen Benutzernamen und ein Passwort .

Etwas, das für mich wäre genauer ist:

Server erfordert eine E-Mail und Passwort.

Mein Problem ist, dass ich nicht finden kann oder nicht weiß, wo diese Nachricht eingestellt ist und ob sie geändert werden kann. Die meisten Fragen online sind über Basic Auth-Implementierung, aber das ist nicht mein Problem - ich kann es sehr gut implementieren. Ich brauche nur eine genauere Antwort für den Benutzer.

Hier ist, wie ich ein Anmeldefenster echo erzwingen:

c.Response().Header().Set(echo.HeaderWWWAuthenticate, `Basic realm="Your Email is your Username"`) 
return echo.ErrUnauthorized 

NB: Nur Firefox zeigt das Reich Nachricht. Sowohl Chrome als auch Opera nicht.

Antwort

1

Danke für die Antworten, aber sie waren nicht zufriedenstellend. Ich musste etwas zu diesem Thema lesen.

Die richtige Antwort ist, dass die Login-Eingabeaufforderung/der Dialog eine Antwort ist, die in den User-Agent/Browser integriert ist und nicht vom Server geändert werden kann. Dies erklärt auch, warum einige Browser Realm anzeigen, andere dagegen nicht.

Laut Wikipedia HTTP-Authentifizierung alle Server hat folgende Funktionen:

Wenn der Server den User-Agent will sich auf dem Server zu authentifizieren, es nicht authentifizierte Anforderungen angemessen reagieren müssen.

Nicht authentifizierte Anfragen sollten eine Antwort zurückgeben, deren Header einen HTTP 401 Unauthorized-Status [4] und ein WWW-Authenticate-Feld enthält. [5]

WWW-Authenticate: "Visible Realm User" Grund realm =

3

Dies bezieht sich nicht auf Go, sondern tatsächlich auf Browser-Verhalten beim Empfang dieser Kopfzeile.

Es scheint, dass Chrome/Chromium ein bekanntes Problem damit hat, dass das Feature vom Entwicklungsteam als nicht sicher angesehen wird, also glaube ich nicht, dass Sie es auf Ihrer Seite reparieren können, wenn Sie nicht auf etwas anderes zurückgreifen Authentifizierungsmechanismus.

Sehen Sie hier für weitere Informationen:

https://bugs.chromium.org/p/chromium/issues/detail?id=544244#c32

+0

Gut zu wissen

Der WWW-Authenticate Bereich für die Standardauthentifizierung (am häufigsten verwendet) wie folgt aufgebaut ist. Das beantwortet den fehlenden Bereich in einigen Browsern. Kennen Sie die Standardnachricht, die in allen Browsern angezeigt wird? – Godfrey

+3

@Godfrey: Der Authentifizierungsdialog wird vom Browser erstellt. Sie können diesen nicht über Ihren Code auf dem Server ändern. – JimB

Verwandte Themen