diff --git a/policies/client_registration/client_registration.rego b/policies/client_registration/client_registration.rego index 544a9126c..48ffc0c27 100644 --- a/policies/client_registration/client_registration.rego +++ b/policies/client_registration/client_registration.rego @@ -18,7 +18,7 @@ allow if { parse_uri(url) := obj if { is_string(url) - url_regex := `^(?P[a-z][a-z0-9+.-]*):(?://(?P((?:(?:[a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\.)*(?:[a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])|127.0.0.1|0.0.0.0|\[::1\])(?::(?P[0-9]+))?))?(?P/[A-Za-z0-9/.-_~]*)?(?P\?[-a-zA-Z0-9()@:%_+.~#?&/=]*)?$` + url_regex := `^(?P[a-z][a-z0-9+.-]*):(?://(?P((?:(?:[a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\.)*(?:[a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])|127.0.0.1|0.0.0.0|\[::1\])(?::(?P[0-9]+))?))?(?P/[A-Za-z0-9/._~-]*)?(?P\?[-a-zA-Z0-9()@:%_+.~#?&/=]*)?$` [matches] := regex.find_all_string_submatch_n(url_regex, url, 1) obj := {"scheme": matches[1], "authority": matches[2], "host": matches[3], "port": matches[4], "path": matches[5], "query": matches[6]} }