--- ngx_http_auth_request_module.c	2014-05-16 18:36:04.312203467 +0200
+++ ngx_http_auth_request_module.c.patch	2014-05-16 18:35:39.004204963 +0200
@@ -138,6 +138,22 @@
             return ctx->status;
         }
 
+	/* case redirect */
+	if (ctx->status == NGX_HTTP_MOVED_TEMPORARILY) {
+            sr = ctx->subrequest;
+            h = sr->headers_out.location;
+            if (h) {
+                ho = ngx_list_push(&r->headers_out.headers);
+                if (ho == NULL) {
+                    return NGX_ERROR;
+                }
+                
+                *ho = *h;
+                r->headers_out.location = ho;
+            }
+            return ctx->status;
+        }
+
         if (ctx->status == NGX_HTTP_UNAUTHORIZED) {
             sr = ctx->subrequest;
