2017-03-03 8 views
4

Ich habe derzeit eine asp.net Core-Anwendung, die OpenId Connect für die Authentifizierung mit Google-Konten verwendet. Wenn diese Anwendung bereitgestellt wird und sich hinter dem Load Balancer befindet, schlägt sie bei der Umleitung zur Anmeldeseite fehl, weil sie die URL als HTTP anstelle von https einstellt und die Weiterleitungs-URL für den OpenID-Server als ohne https definiert eine Möglichkeit, die Optionen so einzurichten, dass sie https verwendet?Setup OpenId und AspCore hinter Load Balancer

+2

Nehmen Sie die x-forwarded-Header und wendet sie auf die Anfrage vor Auth. Dazu gibt es eine UseForwardedHeaders-Middleware. – Tratcher

Antwort

3

Gemäß dem Kommentar von @Tratcher dies durch den Bau von Middleware gelöst wurde, die für die X-Forwarded-Header überprüft, wie folgt:

app.Use(async (context, next) => 
{ 
    if (context.Request.Headers.ContainsKey("X-Forwarded-Proto") || 
     context.Request.Headers.ContainsKey("X-Forwarded-For")) 
    { 
     context.Request.Scheme = "https"; 
    } 
    await next.Invoke(); 
}); 
Verwandte Themen