2017-03-03 3 views
4

私は現在、OpenId Connectを使用してGoogleアカウントを使用した認証にasp.netコアアプリケーションを使用しています。このアプリケーションがデプロイされ、ロードバランサの後ろに座っていると、httpsではなくhttpとしてuriを設定するため、ログインページへのリダイレクトに失敗します。また、httpsなしでopenidサーバーのリダイレクトURIを設定します。オプションを設定してhttpsを使うべきだと分かっていますか?ロードバランサの背後にOpenIdとAspCoreを設定します

+2

は、x-転送ヘッダを取り、認証前の要求に適用します。これにはUseForwardedHeadersミドルウェアがあります。 – Tratcher

答えて

3

これは、次のようにX-転送されたヘッダをチェックするミドルウェアを構築することにより解決しました@Tratcherによってコメントを1として:

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(); 
}); 
関連する問題