authv3.CheckResponse.Status should use grpc codes but not http status code, and use google.golang.org/genproto/googleapis/rpc/status to fill in.
authv3.CheckResponse.Status definitively means ALLOW or DENY but not the Status in authv3.CheckResponse.HttpResponse
When the reqeust is denied by external authorization server, if you want to get not only http status code but response body, you can set it in the body of authv3.CheckResponse_DeniedResponse: