Using Identity Provider with Istio 1.3.1

I am planning to use an on premise Identity Provider (Probably Keycloak or possibly Dex) to support Authentication and Authorization of Istio 1.3.1 Users. I need to know what my best option for integration of Keycloak into Istio for authorization? and authentication? I see there is a
JWT-Auth filter and I notice there is also another filter at the EnvoyProxy level called ext_authz HTTP Filter. What is the difference between these filters and which is most suitable for doing authorizations? I need figure out a good way to do this soon.