diff --git a/docs/api.swagger.json b/docs/api.swagger.json index 5f1b7dbe384..42881c6d31b 100755 --- a/docs/api.swagger.json +++ b/docs/api.swagger.json @@ -496,6 +496,12 @@ "$ref": "#/definitions/genericError" } }, + "410": { + "description": "genericError", + "schema": { + "$ref": "#/definitions/genericError" + } + }, "500": { "description": "genericError", "schema": { @@ -550,6 +556,12 @@ "$ref": "#/definitions/genericError" } }, + "410": { + "description": "genericError", + "schema": { + "$ref": "#/definitions/genericError" + } + }, "500": { "description": "genericError", "schema": { @@ -604,6 +616,12 @@ "$ref": "#/definitions/genericError" } }, + "410": { + "description": "genericError", + "schema": { + "$ref": "#/definitions/genericError" + } + }, "500": { "description": "genericError", "schema": { @@ -1116,12 +1134,9 @@ "example": "The database adapter was unable to find the element" }, "details": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "type": "object", + "additionalProperties": { + "type": "object" } }, "message": { diff --git a/driver/registry_default.go b/driver/registry_default.go index 67be33de40e..6a8dd0c24e6 100644 --- a/driver/registry_default.go +++ b/driver/registry_default.go @@ -412,6 +412,10 @@ func (m *RegistryDefault) Ping() error { return m.persister.Ping(context.Background()) } +func (m *RegistryDefault) SetCSRFTokenGenerator(g x.CSRFToken) { + m.csrfTokenGenerator = g +} + func (m *RegistryDefault) GenerateCSRFToken(r *http.Request) string { if m.csrfTokenGenerator == nil { m.csrfTokenGenerator = x.DefaultCSRFToken diff --git a/go.mod b/go.mod index b917f637cd6..fbd79c624e5 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/ory/kratos -go 1.13 +go 1.14 require ( github.com/Masterminds/sprig/v3 v3.0.0 @@ -8,17 +8,17 @@ require ( github.com/bxcodec/faker v2.0.1+incompatible github.com/cenkalti/backoff v2.2.1+incompatible github.com/coreos/go-oidc v2.2.1+incompatible - github.com/fsnotify/fsnotify v1.4.7 + github.com/fsnotify/fsnotify v1.4.9 github.com/ghodss/yaml v1.0.0 github.com/go-errors/errors v1.0.1 - github.com/go-openapi/errors v0.19.3 - github.com/go-openapi/runtime v0.19.11 - github.com/go-openapi/strfmt v0.19.4 - github.com/go-openapi/swag v0.19.7 - github.com/go-openapi/validate v0.19.6 + github.com/go-openapi/errors v0.19.4 + github.com/go-openapi/runtime v0.19.12 + github.com/go-openapi/strfmt v0.19.5 + github.com/go-openapi/swag v0.19.8 + github.com/go-openapi/validate v0.19.7 github.com/go-playground/locales v0.12.1 // indirect github.com/go-playground/universal-translator v0.16.0 // indirect - github.com/go-swagger/go-swagger v0.22.0 + github.com/go-swagger/go-swagger v0.23.0 github.com/gobuffalo/envy v1.9.0 // indirect github.com/gobuffalo/httptest v1.0.2 github.com/gobuffalo/packd v1.0.0 // indirect @@ -30,7 +30,6 @@ require ( github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2 github.com/golang/mock v1.3.1 github.com/google/go-github/v27 v27.0.1 - github.com/google/go-querystring v1.0.0 github.com/google/uuid v1.1.1 github.com/gorilla/context v1.1.1 github.com/gorilla/securecookie v1.1.1 @@ -50,11 +49,11 @@ require ( github.com/ory/go-acc v0.1.0 github.com/ory/go-convenience v0.1.0 github.com/ory/graceful v0.1.1 - github.com/ory/herodot v0.6.3 + github.com/ory/herodot v0.7.0 github.com/ory/jsonschema/v3 v3.0.1 github.com/ory/sdk/swagutil v0.0.0-20200202121523-307941feee4b github.com/ory/viper v1.5.6 - github.com/ory/x v0.0.95 + github.com/ory/x v0.0.103 github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 github.com/pkg/errors v0.9.1 github.com/rogpeppe/go-internal v1.5.2 // indirect @@ -68,11 +67,9 @@ require ( github.com/tidwall/gjson v1.3.5 github.com/tidwall/sjson v1.0.4 github.com/urfave/negroni v1.0.0 - golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678 + golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4 golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d - golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 // indirect - golang.org/x/tools v0.0.0-20200203215610-ab391d50b528 - golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 // indirect + golang.org/x/tools v0.0.0-20200313205530-4303120df7d8 gopkg.in/go-playground/assert.v1 v1.2.1 // indirect gopkg.in/go-playground/validator.v9 v9.28.0 gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df diff --git a/go.sum b/go.sum index 381b5af4a68..ed35c9e91ae 100644 --- a/go.sum +++ b/go.sum @@ -40,6 +40,7 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdko github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f h1:zvClvFQwU++UpIUBGC8YmDlfhUrweEy1R1Fj1gu5iIM= github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= @@ -95,6 +96,7 @@ github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -117,8 +119,12 @@ github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= @@ -138,8 +144,8 @@ github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9sn github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= github.com/go-openapi/analysis v0.19.5 h1:8b2ZgKfKIUTVQpTb77MoRDIMEIwvDVw40o3aOXdfYzI= github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/analysis v0.19.7 h1:OcMMVVJBRiSsAkXQwSVL4sRrVaqeqPnOcy1Kw0JI47w= -github.com/go-openapi/analysis v0.19.7/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= +github.com/go-openapi/analysis v0.19.10 h1:5BHISBAXOc/aJK25irLZnx2D3s6WyYaY9D4gmuz9fdE= +github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.18.0 h1:+RnmJ5MQccF7jwWAoMzwOpzJEspZ18ZIWfg9Z2eiXq8= github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= @@ -147,6 +153,8 @@ github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4 github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= github.com/go-openapi/errors v0.19.3 h1:7MGZI1ibQDLasvAz8HuhvYk9eNJbJkCOXWsSjjMS+Zc= github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/errors v0.19.4 h1:fSGwO1tSYHFu70NKaWJt5Qh0qoBRtCm/mXS1yhf+0W0= +github.com/go-openapi/errors v0.19.4/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4= github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= @@ -168,11 +176,13 @@ github.com/go-openapi/loads v0.19.3 h1:jwIoahqCmaA5OBoc/B+1+Mu2L0Gr8xYQnbeyQEo/7 github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= github.com/go-openapi/loads v0.19.4 h1:5I4CCSqoWzT+82bBkNIvmLc0UOsoKKQ4Fz+3VxOB7SY= github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= +github.com/go-openapi/loads v0.19.5 h1:jZVYWawIQiA1NBnHla28ktg6hrcfTHsCE+3QLVRBIls= +github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/runtime v0.19.11 h1:6J11dQiIV+BOLlMbk2YmM8RvGaOU38syeqy62qhh3W8= -github.com/go-openapi/runtime v0.19.11/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= +github.com/go-openapi/runtime v0.19.12 h1:5lQlCr1HL0ZVRPL+0PHKhRpMCSPMV2qF842rhQx8CYY= +github.com/go-openapi/runtime v0.19.12/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= @@ -180,6 +190,8 @@ github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wab github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= github.com/go-openapi/spec v0.19.6 h1:rMMMj8cV38KVXK7SFc+I2MWClbEfbK705+j+dyqun5g= github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= +github.com/go-openapi/spec v0.19.7 h1:0xWSeMd35y5avQAThZR2PkEuqSosoS5t6gDH4L8n11M= +github.com/go-openapi/spec v0.19.7/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= github.com/go-openapi/strfmt v0.18.0 h1:FqqmmVCKn3di+ilU/+1m957T1CnMz3IteVUcV3aGXWA= github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= @@ -189,6 +201,8 @@ github.com/go-openapi/strfmt v0.19.3 h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbs github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= github.com/go-openapi/strfmt v0.19.4 h1:eRvaqAhpL0IL6Trh5fDsGnGhiXndzHFuA05w6sXH6/g= github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= +github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM= +github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= github.com/go-openapi/swag v0.18.0 h1:1DU8Km1MRGv9Pj7BNLmkA+umwTStwDHttXvx3NhJA70= github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= @@ -197,13 +211,15 @@ github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tF github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.7 h1:VRuXN2EnMSsZdauzdss6JBC29YotDqG59BZ+tdlIL1s= github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= +github.com/go-openapi/swag v0.19.8 h1:vfK6jLhs7OI4tAXkvkooviaE1JEPcw3mutyegLHHjmk= +github.com/go-openapi/swag v0.19.8/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= github.com/go-openapi/validate v0.18.0 h1:PVXYcP1GkTl+XIAJnyJxOmK6CSG5Q1UcvoCvNO++5Kg= github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= github.com/go-openapi/validate v0.19.3 h1:PAH/2DylwWcIU1s0Y7k3yNmeAgWOcKrNE2Q7Ww/kCg4= github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= -github.com/go-openapi/validate v0.19.6 h1:WsKw9J1WzYBVxWRYwLqEk3325RL6G0SSWksuamkk6q0= -github.com/go-openapi/validate v0.19.6/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= +github.com/go-openapi/validate v0.19.7 h1:fR4tP2xc+25pdo5Qvv4v6g+5QKFgNg8nrifTE7V8ibA= +github.com/go-openapi/validate v0.19.7/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= github.com/go-playground/locales v0.12.1 h1:2FITxuFt/xuCNP1Acdhv62OzaCiviiE4kotfhkmOqEc= github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= github.com/go-playground/universal-translator v0.16.0 h1:X++omBR/4cE2MNg91AoC3rmGrCjJ8eAeUP/K/EKx4DM= @@ -215,10 +231,11 @@ github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gG github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-swagger/go-swagger v0.22.0 h1:fmxYtQApxwihSPm7AgmbC9j+8TEHvo2qF9CCwd94tsY= -github.com/go-swagger/go-swagger v0.22.0/go.mod h1:oxqE9wp02iY/dPItv6ILU8xSRplSOKO1bkyqJT7jYRE= +github.com/go-swagger/go-swagger v0.23.0 h1:WrzNj+tp0pK8B5K5Sf4Rab0xvrIINiX0rrgqvW0fY0k= +github.com/go-swagger/go-swagger v0.23.0/go.mod h1:5AaV4Dx69cUjpFRTZnSHPr1Y7dKBVk6SvfIvkTEqwJs= github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l9rI6sNaZgNC0LnF3MiE+qTmyBA/tZAg1rtyrGbUMK0= github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw= github.com/gobuffalo/buffalo v0.12.8-0.20181004233540-fac9bb505aa8/go.mod h1:sLyT7/dceRXJUxSsE813JTQtA3Eb1vjxWfo/N//vXIY= github.com/gobuffalo/buffalo v0.13.0/go.mod h1:Mjn1Ba9wpIbpbrD+lIDMy99pQ0H0LiddMIIDGse7qT4= @@ -238,6 +255,8 @@ github.com/gobuffalo/buffalo-plugins v1.10.0/go.mod h1:4osg8d9s60txLuGwXnqH+RCjP github.com/gobuffalo/buffalo-plugins v1.11.0 h1:yZ6USaSdAKpogRS8DZJgeG7/CTPGmyhplwifphmmegw= github.com/gobuffalo/buffalo-plugins v1.11.0/go.mod h1:rtIvAYRjYibgmWhnjKmo7OadtnxuMG5ZQLr25ozAzjg= github.com/gobuffalo/buffalo-pop v1.0.5/go.mod h1:Fw/LfFDnSmB/vvQXPvcXEjzP98Tc+AudyNWUBWKCwQ8= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= github.com/gobuffalo/envy v1.6.4/go.mod h1:Abh+Jfw475/NWtYMEt+hnJWRiC8INKWibIMyNt1w2Mc= github.com/gobuffalo/envy v1.6.5/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= github.com/gobuffalo/envy v1.6.6/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= @@ -281,6 +300,9 @@ github.com/gobuffalo/flect v0.0.0-20181210151238-24a2b68e0316/go.mod h1:en58vff7 github.com/gobuffalo/flect v0.0.0-20190104192022-4af577e09bf2/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= github.com/gobuffalo/flect v0.0.0-20190117212819-a62e61d96794 h1:HZOs07hF3AmoaUj4HJQHV5RqfOuGnPZI7aFcireIrww= github.com/gobuffalo/flect v0.0.0-20190117212819-a62e61d96794/go.mod h1:397QT6v05LkZkn07oJXXT6y9FCfwC8Pug0WA2/2mE9k= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= github.com/gobuffalo/flect v0.1.5 h1:xpKq9ap8MbYfhuPCF0dBH854Gp9CxZjr/IocxELFflo= github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.0 h1:EWCvMGGxOjsgwlWaP+f4+Hh6yrrte7JeFL2S6b+0hdM= @@ -311,16 +333,24 @@ github.com/gobuffalo/genny v0.0.0-20181211165820-e26c8466f14d/go.mod h1:sHnK+ZSU github.com/gobuffalo/genny v0.0.0-20190104222617-a71664fc38e7/go.mod h1:QPsQ1FnhEsiU8f+O0qKWXz2RE4TiDqLVChWkBuh1WaY= github.com/gobuffalo/genny v0.0.0-20190112155932-f31a84fcacf5 h1:boQS3dA9PxhyufJEWIILrG6pJQbDnpwP2rFyvWacdoY= github.com/gobuffalo/genny v0.0.0-20190112155932-f31a84fcacf5/go.mod h1:CIaHCrSIuJ4il6ka3Hub4DR4adDrGoXGEEt2FbBxoIo= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= github.com/gobuffalo/genny v0.2.0/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= github.com/gobuffalo/genny v0.3.0 h1:eHQpmPmH3ozcAIZ/krOTqQuDy3FxPMmI7pahFrDP3As= github.com/gobuffalo/genny v0.3.0/go.mod h1:ywJ2CoXrTZj7rbS8HTbzv7uybnLKlsNSBhEQ+yFI3E8= github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= github.com/gobuffalo/github_flavored_markdown v1.0.4/go.mod h1:uRowCdK+q8d/RF0Kt3/DSalaIXbb0De/dmTqMQdkQ4I= github.com/gobuffalo/github_flavored_markdown v1.0.5/go.mod h1:U0643QShPF+OF2tJvYNiYDLDGDuQmJZXsf/bHOJPsMY= github.com/gobuffalo/github_flavored_markdown v1.0.7 h1:Vjvz4wqOnviiLEfTh5bh270b3lhpJiwwQEWOWmHMwY8= github.com/gobuffalo/github_flavored_markdown v1.0.7/go.mod h1:w93Pd9Lz6LvyQXEG6DktTPHkOtCbr+arAD5mkwMzXLI= github.com/gobuffalo/github_flavored_markdown v1.1.0 h1:8Zzj4fTRl/OP2R7sGerzSf6g2nEJnaBEJe7UAOiEvbQ= github.com/gobuffalo/github_flavored_markdown v1.1.0/go.mod h1:TSpTKWcRTI0+v7W3x8dkSKMLJSUpuVitlptCkpeY8ic= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= github.com/gobuffalo/gogen v0.2.0/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= github.com/gobuffalo/helpers v0.2.2/go.mod h1:xYbzUdCUpVzLwLnqV8HIjT6hmG0Cs7YIBCJkNM597jw= github.com/gobuffalo/helpers v0.2.4 h1:K5pXrMiSn8qJpMuv/q853i+WI2o47wS8ehD6NGF0hkE= @@ -386,6 +416,7 @@ github.com/gobuffalo/packd v0.0.0-20181124090624-311c6248e5fb/go.mod h1:Foenia9Z github.com/gobuffalo/packd v0.0.0-20181207120301-c49825f8f6f4/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= github.com/gobuffalo/packd v0.0.0-20181212173646-eca3b8fd6687 h1:uZ+G4JprR0UEq0aHZs+6eP7TEZuFfrIkmQWejIBV/QQ= github.com/gobuffalo/packd v0.0.0-20181212173646-eca3b8fd6687/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= github.com/gobuffalo/packd v0.2.0/go.mod h1:k2CkHP3bjbqL2GwxwhxUy1DgnlbW644hkLC9iIUvZwY= github.com/gobuffalo/packd v0.3.0 h1:eMwymTkA1uXsqxS0Tpoop3Lc0u3kTfiMBE6nKtQU4g4= @@ -409,6 +440,8 @@ github.com/gobuffalo/packr/v2 v2.0.0-rc.13/go.mod h1:2Mp7GhBFMdJlOK8vGfl7SYtfMP3 github.com/gobuffalo/packr/v2 v2.0.0-rc.14/go.mod h1:06otbrNvDKO1eNQ3b8hst+1010UooI2MFg+B2Ze4MV8= github.com/gobuffalo/packr/v2 v2.0.0-rc.15 h1:vSmYcMO6CtuNQvMSbEJeIJlaeZzz2zoxGLTy8HrDh80= github.com/gobuffalo/packr/v2 v2.0.0-rc.15/go.mod h1:IMe7H2nJvcKXSF90y4X1rjYIRlNMJYCxEhssBXNZwWs= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= github.com/gobuffalo/packr/v2 v2.4.0/go.mod h1:ra341gygw9/61nSjAbfwcwh8IrYL4WmR4IsPkPBhQiY= github.com/gobuffalo/packr/v2 v2.5.2/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= github.com/gobuffalo/packr/v2 v2.7.1 h1:n3CIW5T17T8v4GGK5sWXLVWJhCz7b5aNLSxW6gYim4o= @@ -483,6 +516,7 @@ github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4 github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/gddo v0.0.0-20180828051604-96d2a289f41e/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2 h1:xisWqjiKEff2B0KfFYGpCqc3M3zdTz+OHQHRc09FeYk= github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= @@ -499,8 +533,9 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5 h1:F768QJ1E9tib+q5Sc8MkdJi1RxLTbRcTf8LJV56aRls= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -591,13 +626,18 @@ github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwX github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.2.0 h1:JuOJqN8dtahBO+jqvtAdMiY32NI5obiZRWa+C17Vd4s= +github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= github.com/jackc/pgx v3.2.0+incompatible h1:0Vihzu20St42/UDsvZGdNE6jak7oi/UOeMzwMPHkgFY= github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.4.1 h1:OBZhZFlzBMC9yUD6wAFzlFFuxfZTV+YvloSPO1k+puA= +github.com/jackc/pgx/v4 v4.4.1/go.mod h1:6iSW+JznC0YT+SgBn7rNxoEBsBgSmnC5FwyCekOGUiE= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -616,18 +656,22 @@ github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7 github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0 h1:TDTW5Yz1mjftljbcKqRcrYhd4XeOoI98t+9HbQbYf7g= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/justinas/nosurf v0.0.0-20190118163749-6453469bdcc9 h1:gkVgl48ln8/fugpYy2jufQlEv5dYVPgQEMVJsw7j7t8= github.com/justinas/nosurf v0.0.0-20190118163749-6453469bdcc9/go.mod h1:Aucr5I5chr4OCuuVB4LTuHVrKHBuyRSo7vM2hqrcb7E= github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= github.com/karrick/godirwalk v1.7.7/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= github.com/karrick/godirwalk v1.7.8 h1:VfG72pyIxgtC7+3X9CMHI0AOl4LwyRAg98WAgsvffi8= github.com/karrick/godirwalk v1.7.8/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= @@ -643,6 +687,8 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.1.0 h1:Sm1gr51B1kKyfD2BlRcLSiEkffoG96g6TPv6eRoEiB8= github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -666,6 +712,8 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.1 h1:mdxE1MF9o53iCb2Ghj1VfWvh7ZOwHpnVG/xwXrV90U8= +github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= github.com/markbates/deplist v1.0.5/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= github.com/markbates/going v1.0.2 h1:uNQHDDfMRNOUmuxDbPbvatyw4wr4UOSUZkGkdkcip1o= @@ -695,6 +743,7 @@ github.com/markbates/willie v1.0.9/go.mod h1:fsrFVWl91+gXpx/6dv715j7i11fYPfZ9ZGf github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= @@ -702,6 +751,7 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= @@ -734,6 +784,7 @@ github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/moul/http2curl v0.0.0-20170919181001-9ac6cf4d929b/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= @@ -780,8 +831,8 @@ github.com/ory/gojsonschema v1.1.1-0.20190919112458-f254ca73d5e9/go.mod h1:BNZpd github.com/ory/graceful v0.1.1 h1:zx+8tDObLPrG+7Tc8jKYlXsqWnLtOQA1IZ/FAAKHMXU= github.com/ory/graceful v0.1.1/go.mod h1:zqu70l95WrKHF4AZ6tXHvAqAvpY6M7g6ttaAVcMm7KU= github.com/ory/herodot v0.6.2/go.mod h1:3BOneqcyBsVybCPAJoi92KN2BpJHcmDqAMcAAaJiJow= -github.com/ory/herodot v0.6.3 h1:TPf7uU64t3+kw1DX8GPSSL3GJB92Ql9zQMIBU4D0BfU= -github.com/ory/herodot v0.6.3/go.mod h1:YXKOfAXYdQojDP5sD8m0ajowq3+QXNdtxA+QiUXBwn0= +github.com/ory/herodot v0.7.0 h1:DGPUyPDBZwQSaQzci4UW/edjG6OWixZTwXyfjBgEVgs= +github.com/ory/herodot v0.7.0/go.mod h1:YXKOfAXYdQojDP5sD8m0ajowq3+QXNdtxA+QiUXBwn0= github.com/ory/jsonschema/v3 v3.0.1 h1:xzV7w2rt/Qn+jvh71joIXNKKOCqqNyTlaIxdxU0IQJc= github.com/ory/jsonschema/v3 v3.0.1/go.mod h1:jgLHekkFk0uiGdEWGleC+tOm6JSSP8cbf17PnBuGXlw= github.com/ory/sdk/swagutil v0.0.0-20200202121523-307941feee4b h1:xn3WcZ8Oy285KYiCnoscQxkyRfJZT+KhIbU9LEhPLyw= @@ -793,8 +844,8 @@ github.com/ory/x v0.0.85/go.mod h1:s44V8t3xyjWZREcU+mWlp4h302rTuM4aLXcW+y5FbQ8= github.com/ory/x v0.0.88/go.mod h1:wrnJRjIfYXFY/AUiuUlcIUpLBDxFtWc+8x6toAeLZXU= github.com/ory/x v0.0.93 h1:lZG4tjrkJ8cxI85463kD7Cq8h1YxZcPVzCkFcu2WXXI= github.com/ory/x v0.0.93/go.mod h1:lfcTaGXpTZs7IEQAW00r9EtTCOxD//SiP5uWtNiz31g= -github.com/ory/x v0.0.95 h1:DBPmINrK39lL0NThrg6iSIV22aTEU44ehHVvRDk5tc4= -github.com/ory/x v0.0.95/go.mod h1:GJqcabA37FeilLiFIdgN69si/RPnKWPZEzo8K7RTmRo= +github.com/ory/x v0.0.103 h1:UH3Hroe0Om0U94LMFdG2pTxUFlbD9E7SjPlFR0S2E28= +github.com/ory/x v0.0.103/go.mod h1:jWkq1zCmjz6mexzE3DKW0jLPDv0r1ZePfOlCSYgUGLs= github.com/parnurzeal/gorequest v0.2.15/go.mod h1:3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE= github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= @@ -825,6 +876,7 @@ github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.0.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -875,6 +927,7 @@ github.com/sirupsen/logrus v1.1.0/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8 github.com/sirupsen/logrus v1.1.1/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -962,12 +1015,15 @@ github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IA github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= +github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= +github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c h1:3lbZUMbMiGUW/LMkfsEABsc5zNT9+b1CvsJx47JzJ8g= github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c/go.mod h1:UrdRz5enIKZ63MEE3IF9l2/ebyx59GyGgPi+tICQdmM= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= @@ -976,8 +1032,9 @@ go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qL go.mongodb.org/mongo-driver v1.1.1 h1:Sq1fR+0c58RME5EoqKdjkiQAmPjmfHlZOoRI6fTUOcs= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.2.1 h1:ANAlYXXM5XmOdW/Nc38jOr+wS5nlk7YihT24U1imiWM= -go.mongodb.org/mongo-driver v1.2.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= +go.mongodb.org/mongo-driver v1.3.1 h1:op56IfTQiaY2679w922KVWa3qcHdml2K/Io8ayAOUEQ= +go.mongodb.org/mongo-driver v1.3.1/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= @@ -1011,6 +1068,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1022,12 +1080,15 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200117160349-530e935923ad h1:Jh8cai0fqIK+f6nG0UgPW5wFk8wmiMhM3AyciDBdtQg= golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200128174031-69ecbb4d6d5d h1:9FCpayM9Egr1baVnV1SX0H87m+XB0B8S0hAMi99X/3U= -golang.org/x/crypto v0.0.0-20200128174031-69ecbb4d6d5d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678 h1:wCWoJcFExDgyYx2m2hpHgwz8W3+FPdfldvIgzqDIhyg= -golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4 h1:QmwruyY+bKbDDL0BaglrbZABEali68eoMFhTZpCjYVA= +golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -1040,6 +1101,8 @@ golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee h1:WG0RUwxtNT4qqaXX3DPA8zHFNm/D9xaBpxzHt1WcA/E= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1076,6 +1139,9 @@ golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjut golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200219183655-46282727080f h1:dB42wwhNuwPvh8f+5zZWNcU+F2Xs/B9wXXwvUCOH7r8= golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1087,6 +1153,7 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= @@ -1119,23 +1186,25 @@ golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200121082415-34d275377bf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9 h1:1/DFK4b7JH8DmkqhUk48onnSfrPzImPoVxuomtbT2nk= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527 h1:uYVVQ9WP/Ds2ROhcaGPeIdVq0RIXVLwsHlnvJ+cT1So= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= @@ -1144,6 +1213,7 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181003024731-2f84ea8ef872/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181006002542-f60d9635b16a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1152,6 +1222,7 @@ golang.org/x/tools v0.0.0-20181013182035-5e66757b835f/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20181017214349-06f26fdaaa28/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181024171208-a2dc47679d30/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181026183834-f60e5f99f081/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181105230042-78dc5bac0cac/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181107215632-34b416bd17b3/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181114190951-94339b83286c/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1169,15 +1240,20 @@ golang.org/x/tools v0.0.0-20190111214448-fc1d57b08d7b/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190613204242-ed0dc450797f/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -1189,13 +1265,14 @@ golang.org/x/tools v0.0.0-20190711191110-9a621aea19f8/go.mod h1:jcCCGcm9btYwXyDq golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200113040837-eac381796e91/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200131211209-ecb101ed6550 h1:3Kc3/T5DQ/majKzDmb+0NzmbXFhKLaeDTp3KqVPV5Eo= -golang.org/x/tools v0.0.0-20200131211209-ecb101ed6550/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200203215610-ab391d50b528 h1:iINh7uA444sE+iZXG/dsGMWccpjX751evDOE4UvDiaA= golang.org/x/tools v0.0.0-20200203215610-ab391d50b528/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200313205530-4303120df7d8 h1:gkI/wGGwpcG5W4hLCzZNGxA4wzWBGGDStRI1MrjDl2Q= +golang.org/x/tools v0.0.0-20200313205530-4303120df7d8/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= @@ -1204,6 +1281,12 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898 h1:/atklqdjdhuosWIl6AIbO golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20191229114700-bbb4dff026f8/go.mod h1:2IgXn/sJaRbePPBA1wRj8OE+QLvVaH0q8SK6TSTKlnk= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.0.0-20200111075622-4abb28f724d5/go.mod h1:+HbaZVpsa73UwN7kXGCECULRHovLRJjH+t5cFPgxErs= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0 h1:9sdfJOzWlkqPltHAuzT2Cp+yrBeY1KRVYgms8soxMwM= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1255,8 +1338,8 @@ gopkg.in/gorp.v1 v1.7.2/go.mod h1:Wo3h+DBQZIxATwftsglhdD/62zRFPhGhTiu5jUJmCaw= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.52.0 h1:j+Lt/M1oPPejkniCg1TkWE2J3Eh1oZTsHSXzMTzUXn4= -gopkg.in/ini.v1 v1.52.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.54.0 h1:oM5ElzbIi7gwLnNbPX2M25ED1vSAK3B6dex50eS/6Fs= +gopkg.in/ini.v1 v1.54.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.1.9/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -1284,4 +1367,10 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= +modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= +modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= +modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= +modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/internal/httpclient/client/admin/create_identity_parameters.go b/internal/httpclient/client/admin/create_identity_parameters.go index 518e607d5f3..535dd83d420 100644 --- a/internal/httpclient/client/admin/create_identity_parameters.go +++ b/internal/httpclient/client/admin/create_identity_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/admin/create_identity_responses.go b/internal/httpclient/client/admin/create_identity_responses.go index eda142c5620..9f1cd368363 100644 --- a/internal/httpclient/client/admin/create_identity_responses.go +++ b/internal/httpclient/client/admin/create_identity_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/admin/delete_identity_parameters.go b/internal/httpclient/client/admin/delete_identity_parameters.go index 0c5d4083217..77e6c1f84f2 100644 --- a/internal/httpclient/client/admin/delete_identity_parameters.go +++ b/internal/httpclient/client/admin/delete_identity_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewDeleteIdentityParams creates a new DeleteIdentityParams object diff --git a/internal/httpclient/client/admin/delete_identity_responses.go b/internal/httpclient/client/admin/delete_identity_responses.go index 5b1140d26ae..bb286ae9f20 100644 --- a/internal/httpclient/client/admin/delete_identity_responses.go +++ b/internal/httpclient/client/admin/delete_identity_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/admin/get_identity_parameters.go b/internal/httpclient/client/admin/get_identity_parameters.go index b1a377d82ae..060833223b1 100644 --- a/internal/httpclient/client/admin/get_identity_parameters.go +++ b/internal/httpclient/client/admin/get_identity_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewGetIdentityParams creates a new GetIdentityParams object diff --git a/internal/httpclient/client/admin/get_identity_responses.go b/internal/httpclient/client/admin/get_identity_responses.go index 421eed9cc33..f416cc5eac8 100644 --- a/internal/httpclient/client/admin/get_identity_responses.go +++ b/internal/httpclient/client/admin/get_identity_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/admin/list_identities_parameters.go b/internal/httpclient/client/admin/list_identities_parameters.go index b88e9923073..69d3f8622bf 100644 --- a/internal/httpclient/client/admin/list_identities_parameters.go +++ b/internal/httpclient/client/admin/list_identities_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewListIdentitiesParams creates a new ListIdentitiesParams object diff --git a/internal/httpclient/client/admin/list_identities_responses.go b/internal/httpclient/client/admin/list_identities_responses.go index 5e9a16f3484..27d644eb4ac 100644 --- a/internal/httpclient/client/admin/list_identities_responses.go +++ b/internal/httpclient/client/admin/list_identities_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/admin/update_identity_parameters.go b/internal/httpclient/client/admin/update_identity_parameters.go index 7dfd612b8a7..5797e6f05b5 100644 --- a/internal/httpclient/client/admin/update_identity_parameters.go +++ b/internal/httpclient/client/admin/update_identity_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/admin/update_identity_responses.go b/internal/httpclient/client/admin/update_identity_responses.go index a27a0c8e10e..ece23288556 100644 --- a/internal/httpclient/client/admin/update_identity_responses.go +++ b/internal/httpclient/client/admin/update_identity_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/common/get_self_service_browser_login_request_parameters.go b/internal/httpclient/client/common/get_self_service_browser_login_request_parameters.go index f859332108e..34509bbaca3 100644 --- a/internal/httpclient/client/common/get_self_service_browser_login_request_parameters.go +++ b/internal/httpclient/client/common/get_self_service_browser_login_request_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewGetSelfServiceBrowserLoginRequestParams creates a new GetSelfServiceBrowserLoginRequestParams object diff --git a/internal/httpclient/client/common/get_self_service_browser_login_request_responses.go b/internal/httpclient/client/common/get_self_service_browser_login_request_responses.go index 83f841cc63d..d1b42921c66 100644 --- a/internal/httpclient/client/common/get_self_service_browser_login_request_responses.go +++ b/internal/httpclient/client/common/get_self_service_browser_login_request_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) @@ -41,6 +42,12 @@ func (o *GetSelfServiceBrowserLoginRequestReader) ReadResponse(response runtime. return nil, err } return nil, result + case 410: + result := NewGetSelfServiceBrowserLoginRequestGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result case 500: result := NewGetSelfServiceBrowserLoginRequestInternalServerError() if err := result.readResponse(response, consumer, o.formats); err != nil { @@ -152,6 +159,39 @@ func (o *GetSelfServiceBrowserLoginRequestNotFound) readResponse(response runtim return nil } +// NewGetSelfServiceBrowserLoginRequestGone creates a GetSelfServiceBrowserLoginRequestGone with default headers values +func NewGetSelfServiceBrowserLoginRequestGone() *GetSelfServiceBrowserLoginRequestGone { + return &GetSelfServiceBrowserLoginRequestGone{} +} + +/*GetSelfServiceBrowserLoginRequestGone handles this case with default header values. + +genericError +*/ +type GetSelfServiceBrowserLoginRequestGone struct { + Payload *models.GenericError +} + +func (o *GetSelfServiceBrowserLoginRequestGone) Error() string { + return fmt.Sprintf("[GET /self-service/browser/flows/requests/login][%d] getSelfServiceBrowserLoginRequestGone %+v", 410, o.Payload) +} + +func (o *GetSelfServiceBrowserLoginRequestGone) GetPayload() *models.GenericError { + return o.Payload +} + +func (o *GetSelfServiceBrowserLoginRequestGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.GenericError) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + // NewGetSelfServiceBrowserLoginRequestInternalServerError creates a GetSelfServiceBrowserLoginRequestInternalServerError with default headers values func NewGetSelfServiceBrowserLoginRequestInternalServerError() *GetSelfServiceBrowserLoginRequestInternalServerError { return &GetSelfServiceBrowserLoginRequestInternalServerError{} diff --git a/internal/httpclient/client/common/get_self_service_browser_profile_management_request_parameters.go b/internal/httpclient/client/common/get_self_service_browser_profile_management_request_parameters.go index bd2c66b42ab..662ef82a6ea 100644 --- a/internal/httpclient/client/common/get_self_service_browser_profile_management_request_parameters.go +++ b/internal/httpclient/client/common/get_self_service_browser_profile_management_request_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewGetSelfServiceBrowserProfileManagementRequestParams creates a new GetSelfServiceBrowserProfileManagementRequestParams object diff --git a/internal/httpclient/client/common/get_self_service_browser_profile_management_request_responses.go b/internal/httpclient/client/common/get_self_service_browser_profile_management_request_responses.go index eb9ec7d7255..3560225d54c 100644 --- a/internal/httpclient/client/common/get_self_service_browser_profile_management_request_responses.go +++ b/internal/httpclient/client/common/get_self_service_browser_profile_management_request_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) @@ -41,6 +42,12 @@ func (o *GetSelfServiceBrowserProfileManagementRequestReader) ReadResponse(respo return nil, err } return nil, result + case 410: + result := NewGetSelfServiceBrowserProfileManagementRequestGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result case 500: result := NewGetSelfServiceBrowserProfileManagementRequestInternalServerError() if err := result.readResponse(response, consumer, o.formats); err != nil { @@ -152,6 +159,39 @@ func (o *GetSelfServiceBrowserProfileManagementRequestNotFound) readResponse(res return nil } +// NewGetSelfServiceBrowserProfileManagementRequestGone creates a GetSelfServiceBrowserProfileManagementRequestGone with default headers values +func NewGetSelfServiceBrowserProfileManagementRequestGone() *GetSelfServiceBrowserProfileManagementRequestGone { + return &GetSelfServiceBrowserProfileManagementRequestGone{} +} + +/*GetSelfServiceBrowserProfileManagementRequestGone handles this case with default header values. + +genericError +*/ +type GetSelfServiceBrowserProfileManagementRequestGone struct { + Payload *models.GenericError +} + +func (o *GetSelfServiceBrowserProfileManagementRequestGone) Error() string { + return fmt.Sprintf("[GET /self-service/browser/flows/requests/profile][%d] getSelfServiceBrowserProfileManagementRequestGone %+v", 410, o.Payload) +} + +func (o *GetSelfServiceBrowserProfileManagementRequestGone) GetPayload() *models.GenericError { + return o.Payload +} + +func (o *GetSelfServiceBrowserProfileManagementRequestGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.GenericError) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + // NewGetSelfServiceBrowserProfileManagementRequestInternalServerError creates a GetSelfServiceBrowserProfileManagementRequestInternalServerError with default headers values func NewGetSelfServiceBrowserProfileManagementRequestInternalServerError() *GetSelfServiceBrowserProfileManagementRequestInternalServerError { return &GetSelfServiceBrowserProfileManagementRequestInternalServerError{} diff --git a/internal/httpclient/client/common/get_self_service_browser_registration_request_parameters.go b/internal/httpclient/client/common/get_self_service_browser_registration_request_parameters.go index 6af50425523..82128886536 100644 --- a/internal/httpclient/client/common/get_self_service_browser_registration_request_parameters.go +++ b/internal/httpclient/client/common/get_self_service_browser_registration_request_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewGetSelfServiceBrowserRegistrationRequestParams creates a new GetSelfServiceBrowserRegistrationRequestParams object diff --git a/internal/httpclient/client/common/get_self_service_browser_registration_request_responses.go b/internal/httpclient/client/common/get_self_service_browser_registration_request_responses.go index c2a5bd20a57..cdc51214529 100644 --- a/internal/httpclient/client/common/get_self_service_browser_registration_request_responses.go +++ b/internal/httpclient/client/common/get_self_service_browser_registration_request_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) @@ -41,6 +42,12 @@ func (o *GetSelfServiceBrowserRegistrationRequestReader) ReadResponse(response r return nil, err } return nil, result + case 410: + result := NewGetSelfServiceBrowserRegistrationRequestGone() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result case 500: result := NewGetSelfServiceBrowserRegistrationRequestInternalServerError() if err := result.readResponse(response, consumer, o.formats); err != nil { @@ -152,6 +159,39 @@ func (o *GetSelfServiceBrowserRegistrationRequestNotFound) readResponse(response return nil } +// NewGetSelfServiceBrowserRegistrationRequestGone creates a GetSelfServiceBrowserRegistrationRequestGone with default headers values +func NewGetSelfServiceBrowserRegistrationRequestGone() *GetSelfServiceBrowserRegistrationRequestGone { + return &GetSelfServiceBrowserRegistrationRequestGone{} +} + +/*GetSelfServiceBrowserRegistrationRequestGone handles this case with default header values. + +genericError +*/ +type GetSelfServiceBrowserRegistrationRequestGone struct { + Payload *models.GenericError +} + +func (o *GetSelfServiceBrowserRegistrationRequestGone) Error() string { + return fmt.Sprintf("[GET /self-service/browser/flows/requests/registration][%d] getSelfServiceBrowserRegistrationRequestGone %+v", 410, o.Payload) +} + +func (o *GetSelfServiceBrowserRegistrationRequestGone) GetPayload() *models.GenericError { + return o.Payload +} + +func (o *GetSelfServiceBrowserRegistrationRequestGone) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.GenericError) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + // NewGetSelfServiceBrowserRegistrationRequestInternalServerError creates a GetSelfServiceBrowserRegistrationRequestInternalServerError with default headers values func NewGetSelfServiceBrowserRegistrationRequestInternalServerError() *GetSelfServiceBrowserRegistrationRequestInternalServerError { return &GetSelfServiceBrowserRegistrationRequestInternalServerError{} diff --git a/internal/httpclient/client/common/get_self_service_error_parameters.go b/internal/httpclient/client/common/get_self_service_error_parameters.go index 8854685a296..2fbb000df25 100644 --- a/internal/httpclient/client/common/get_self_service_error_parameters.go +++ b/internal/httpclient/client/common/get_self_service_error_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewGetSelfServiceErrorParams creates a new GetSelfServiceErrorParams object diff --git a/internal/httpclient/client/common/get_self_service_error_responses.go b/internal/httpclient/client/common/get_self_service_error_responses.go index 101855f2f99..ed41a6de447 100644 --- a/internal/httpclient/client/common/get_self_service_error_responses.go +++ b/internal/httpclient/client/common/get_self_service_error_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/common/get_self_service_verification_request_parameters.go b/internal/httpclient/client/common/get_self_service_verification_request_parameters.go index f2d4a7e79d3..79688820ba5 100644 --- a/internal/httpclient/client/common/get_self_service_verification_request_parameters.go +++ b/internal/httpclient/client/common/get_self_service_verification_request_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewGetSelfServiceVerificationRequestParams creates a new GetSelfServiceVerificationRequestParams object diff --git a/internal/httpclient/client/common/get_self_service_verification_request_responses.go b/internal/httpclient/client/common/get_self_service_verification_request_responses.go index 629e2177c13..988c1c548a7 100644 --- a/internal/httpclient/client/common/get_self_service_verification_request_responses.go +++ b/internal/httpclient/client/common/get_self_service_verification_request_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/health/is_instance_alive_parameters.go b/internal/httpclient/client/health/is_instance_alive_parameters.go index 7f882b77ed3..359c3d7334c 100644 --- a/internal/httpclient/client/health/is_instance_alive_parameters.go +++ b/internal/httpclient/client/health/is_instance_alive_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewIsInstanceAliveParams creates a new IsInstanceAliveParams object diff --git a/internal/httpclient/client/health/is_instance_alive_responses.go b/internal/httpclient/client/health/is_instance_alive_responses.go index e2a749c5fd6..a20e9da35f7 100644 --- a/internal/httpclient/client/health/is_instance_alive_responses.go +++ b/internal/httpclient/client/health/is_instance_alive_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/health/is_instance_ready_parameters.go b/internal/httpclient/client/health/is_instance_ready_parameters.go index f03a934a861..247b03483d8 100644 --- a/internal/httpclient/client/health/is_instance_ready_parameters.go +++ b/internal/httpclient/client/health/is_instance_ready_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewIsInstanceReadyParams creates a new IsInstanceReadyParams object diff --git a/internal/httpclient/client/health/is_instance_ready_responses.go b/internal/httpclient/client/health/is_instance_ready_responses.go index d64fb185ade..3b3d8c69cfa 100644 --- a/internal/httpclient/client/health/is_instance_ready_responses.go +++ b/internal/httpclient/client/health/is_instance_ready_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/ory_kratos_client.go b/internal/httpclient/client/ory_kratos_client.go index e83baae4618..8bbc309ceac 100644 --- a/internal/httpclient/client/ory_kratos_client.go +++ b/internal/httpclient/client/ory_kratos_client.go @@ -6,8 +6,9 @@ package client // Editing this file might prove futile when you re-run the swagger generate command import ( - "github.com/go-openapi/runtime" httptransport "github.com/go-openapi/runtime/client" + + "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/client/admin" diff --git a/internal/httpclient/client/public/complete_self_service_browser_profile_management_flow_parameters.go b/internal/httpclient/client/public/complete_self_service_browser_profile_management_flow_parameters.go index cf33e4c9720..9ddcbcc0124 100644 --- a/internal/httpclient/client/public/complete_self_service_browser_profile_management_flow_parameters.go +++ b/internal/httpclient/client/public/complete_self_service_browser_profile_management_flow_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/complete_self_service_browser_profile_management_flow_responses.go b/internal/httpclient/client/public/complete_self_service_browser_profile_management_flow_responses.go index e61ffe74fbb..0965f05942b 100644 --- a/internal/httpclient/client/public/complete_self_service_browser_profile_management_flow_responses.go +++ b/internal/httpclient/client/public/complete_self_service_browser_profile_management_flow_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/complete_self_service_browser_verification_flow_parameters.go b/internal/httpclient/client/public/complete_self_service_browser_verification_flow_parameters.go index 92918cff12d..c0783b3d631 100644 --- a/internal/httpclient/client/public/complete_self_service_browser_verification_flow_parameters.go +++ b/internal/httpclient/client/public/complete_self_service_browser_verification_flow_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewCompleteSelfServiceBrowserVerificationFlowParams creates a new CompleteSelfServiceBrowserVerificationFlowParams object diff --git a/internal/httpclient/client/public/complete_self_service_browser_verification_flow_responses.go b/internal/httpclient/client/public/complete_self_service_browser_verification_flow_responses.go index ea3d53ff79f..c9e48fe53fd 100644 --- a/internal/httpclient/client/public/complete_self_service_browser_verification_flow_responses.go +++ b/internal/httpclient/client/public/complete_self_service_browser_verification_flow_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/initialize_self_service_browser_login_flow_parameters.go b/internal/httpclient/client/public/initialize_self_service_browser_login_flow_parameters.go index f7c5eb9ab11..531543e0a40 100644 --- a/internal/httpclient/client/public/initialize_self_service_browser_login_flow_parameters.go +++ b/internal/httpclient/client/public/initialize_self_service_browser_login_flow_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewInitializeSelfServiceBrowserLoginFlowParams creates a new InitializeSelfServiceBrowserLoginFlowParams object diff --git a/internal/httpclient/client/public/initialize_self_service_browser_login_flow_responses.go b/internal/httpclient/client/public/initialize_self_service_browser_login_flow_responses.go index 071d7471512..665b49a6358 100644 --- a/internal/httpclient/client/public/initialize_self_service_browser_login_flow_responses.go +++ b/internal/httpclient/client/public/initialize_self_service_browser_login_flow_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/initialize_self_service_browser_logout_flow_parameters.go b/internal/httpclient/client/public/initialize_self_service_browser_logout_flow_parameters.go index fb53aaafaea..97476353c3e 100644 --- a/internal/httpclient/client/public/initialize_self_service_browser_logout_flow_parameters.go +++ b/internal/httpclient/client/public/initialize_self_service_browser_logout_flow_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewInitializeSelfServiceBrowserLogoutFlowParams creates a new InitializeSelfServiceBrowserLogoutFlowParams object diff --git a/internal/httpclient/client/public/initialize_self_service_browser_logout_flow_responses.go b/internal/httpclient/client/public/initialize_self_service_browser_logout_flow_responses.go index 30e222afa88..8c46c2fb829 100644 --- a/internal/httpclient/client/public/initialize_self_service_browser_logout_flow_responses.go +++ b/internal/httpclient/client/public/initialize_self_service_browser_logout_flow_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/initialize_self_service_browser_registration_flow_parameters.go b/internal/httpclient/client/public/initialize_self_service_browser_registration_flow_parameters.go index 8e11dc9018d..698328ed2a8 100644 --- a/internal/httpclient/client/public/initialize_self_service_browser_registration_flow_parameters.go +++ b/internal/httpclient/client/public/initialize_self_service_browser_registration_flow_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewInitializeSelfServiceBrowserRegistrationFlowParams creates a new InitializeSelfServiceBrowserRegistrationFlowParams object diff --git a/internal/httpclient/client/public/initialize_self_service_browser_registration_flow_responses.go b/internal/httpclient/client/public/initialize_self_service_browser_registration_flow_responses.go index e3328029e7a..5d76505b50c 100644 --- a/internal/httpclient/client/public/initialize_self_service_browser_registration_flow_responses.go +++ b/internal/httpclient/client/public/initialize_self_service_browser_registration_flow_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/initialize_self_service_browser_verification_flow_parameters.go b/internal/httpclient/client/public/initialize_self_service_browser_verification_flow_parameters.go index ebc11fb98f1..395209ef8e4 100644 --- a/internal/httpclient/client/public/initialize_self_service_browser_verification_flow_parameters.go +++ b/internal/httpclient/client/public/initialize_self_service_browser_verification_flow_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewInitializeSelfServiceBrowserVerificationFlowParams creates a new InitializeSelfServiceBrowserVerificationFlowParams object diff --git a/internal/httpclient/client/public/initialize_self_service_browser_verification_flow_responses.go b/internal/httpclient/client/public/initialize_self_service_browser_verification_flow_responses.go index 78bf0eb6d37..d881d5a15fc 100644 --- a/internal/httpclient/client/public/initialize_self_service_browser_verification_flow_responses.go +++ b/internal/httpclient/client/public/initialize_self_service_browser_verification_flow_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/initialize_self_service_profile_management_flow_parameters.go b/internal/httpclient/client/public/initialize_self_service_profile_management_flow_parameters.go index af829c32c85..39032cff1d4 100644 --- a/internal/httpclient/client/public/initialize_self_service_profile_management_flow_parameters.go +++ b/internal/httpclient/client/public/initialize_self_service_profile_management_flow_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewInitializeSelfServiceProfileManagementFlowParams creates a new InitializeSelfServiceProfileManagementFlowParams object diff --git a/internal/httpclient/client/public/initialize_self_service_profile_management_flow_responses.go b/internal/httpclient/client/public/initialize_self_service_profile_management_flow_responses.go index 36445a07da0..fcb63f6164e 100644 --- a/internal/httpclient/client/public/initialize_self_service_profile_management_flow_responses.go +++ b/internal/httpclient/client/public/initialize_self_service_profile_management_flow_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/self_service_browser_verify_parameters.go b/internal/httpclient/client/public/self_service_browser_verify_parameters.go index f62a2a4ecb8..751741d7ccf 100644 --- a/internal/httpclient/client/public/self_service_browser_verify_parameters.go +++ b/internal/httpclient/client/public/self_service_browser_verify_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewSelfServiceBrowserVerifyParams creates a new SelfServiceBrowserVerifyParams object diff --git a/internal/httpclient/client/public/self_service_browser_verify_responses.go b/internal/httpclient/client/public/self_service_browser_verify_responses.go index 980071a46eb..3b14ee9e245 100644 --- a/internal/httpclient/client/public/self_service_browser_verify_responses.go +++ b/internal/httpclient/client/public/self_service_browser_verify_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/public/whoami_parameters.go b/internal/httpclient/client/public/whoami_parameters.go index c3a182c714b..69861624d63 100644 --- a/internal/httpclient/client/public/whoami_parameters.go +++ b/internal/httpclient/client/public/whoami_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewWhoamiParams creates a new WhoamiParams object diff --git a/internal/httpclient/client/public/whoami_responses.go b/internal/httpclient/client/public/whoami_responses.go index 17df465a26b..4d9179ab127 100644 --- a/internal/httpclient/client/public/whoami_responses.go +++ b/internal/httpclient/client/public/whoami_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/client/version/get_version_parameters.go b/internal/httpclient/client/version/get_version_parameters.go index 29bf00d13b8..f937b57ccc9 100644 --- a/internal/httpclient/client/version/get_version_parameters.go +++ b/internal/httpclient/client/version/get_version_parameters.go @@ -13,7 +13,8 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/runtime" cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" ) // NewGetVersionParams creates a new GetVersionParams object diff --git a/internal/httpclient/client/version/get_version_responses.go b/internal/httpclient/client/version/get_version_responses.go index cc099509922..60491e6c4fa 100644 --- a/internal/httpclient/client/version/get_version_responses.go +++ b/internal/httpclient/client/version/get_version_responses.go @@ -10,7 +10,8 @@ import ( "io" "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" + + strfmt "github.com/go-openapi/strfmt" "github.com/ory/kratos/internal/httpclient/models" ) diff --git a/internal/httpclient/models/complete_self_service_browser_profile_management_flow_payload.go b/internal/httpclient/models/complete_self_service_browser_profile_management_flow_payload.go index 6c4a708766c..8fd079a75fa 100644 --- a/internal/httpclient/models/complete_self_service_browser_profile_management_flow_payload.go +++ b/internal/httpclient/models/complete_self_service_browser_profile_management_flow_payload.go @@ -7,13 +7,12 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // CompleteSelfServiceBrowserProfileManagementFlowPayload complete self service browser profile management flow payload -// // swagger:model completeSelfServiceBrowserProfileManagementFlowPayload type CompleteSelfServiceBrowserProfileManagementFlowPayload struct { diff --git a/internal/httpclient/models/credentials_type.go b/internal/httpclient/models/credentials_type.go index 81188627891..0d3419209bc 100644 --- a/internal/httpclient/models/credentials_type.go +++ b/internal/httpclient/models/credentials_type.go @@ -6,13 +6,12 @@ package models // Editing this file might prove futile when you re-run the swagger generate command import ( - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" ) // CredentialsType CredentialsType represents several different credential types, like password credentials, passwordless credentials, // // and so on. -// // swagger:model CredentialsType type CredentialsType string diff --git a/internal/httpclient/models/error.go b/internal/httpclient/models/error.go index e27e3fb0526..75b27b4359b 100644 --- a/internal/httpclient/models/error.go +++ b/internal/httpclient/models/error.go @@ -6,12 +6,11 @@ package models // Editing this file might prove futile when you re-run the swagger generate command import ( - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // Error error -// // swagger:model Error type Error struct { diff --git a/internal/httpclient/models/error_container.go b/internal/httpclient/models/error_container.go index 8978b5bb67f..8957af09e27 100644 --- a/internal/httpclient/models/error_container.go +++ b/internal/httpclient/models/error_container.go @@ -7,12 +7,11 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // ErrorContainer error container -// // swagger:model errorContainer type ErrorContainer struct { diff --git a/internal/httpclient/models/form.go b/internal/httpclient/models/form.go index 6e1aef784a3..9571d46bca5 100644 --- a/internal/httpclient/models/form.go +++ b/internal/httpclient/models/form.go @@ -9,13 +9,12 @@ import ( "strconv" "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // Form HTMLForm represents a HTML Form. The container can work with both HTTP Form and JSON requests -// // swagger:model form type Form struct { diff --git a/internal/httpclient/models/form_field.go b/internal/httpclient/models/form_field.go index 68d61e8a073..5919020f10a 100644 --- a/internal/httpclient/models/form_field.go +++ b/internal/httpclient/models/form_field.go @@ -9,13 +9,12 @@ import ( "strconv" "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // FormField Field represents a HTML Form Field -// // swagger:model formField type FormField struct { diff --git a/internal/httpclient/models/form_fields.go b/internal/httpclient/models/form_fields.go index 9a28d1c13ef..f3fb25eab4a 100644 --- a/internal/httpclient/models/form_fields.go +++ b/internal/httpclient/models/form_fields.go @@ -9,12 +9,11 @@ import ( "strconv" "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // FormFields Fields contains multiple fields -// // swagger:model formFields type FormFields []*FormField diff --git a/internal/httpclient/models/generic_error.go b/internal/httpclient/models/generic_error.go index 0582f957ae2..1d3d8213a9c 100644 --- a/internal/httpclient/models/generic_error.go +++ b/internal/httpclient/models/generic_error.go @@ -7,14 +7,13 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // GenericError Error response // // Error responses are sent when an error (e.g. unauthorized, bad request, ...) occurred. -// // swagger:model genericError type GenericError struct { diff --git a/internal/httpclient/models/generic_error_payload.go b/internal/httpclient/models/generic_error_payload.go index dff6c9dc06b..31d23049a4d 100644 --- a/internal/httpclient/models/generic_error_payload.go +++ b/internal/httpclient/models/generic_error_payload.go @@ -6,12 +6,11 @@ package models // Editing this file might prove futile when you re-run the swagger generate command import ( - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // GenericErrorPayload nolint:deadcode,unused -// // swagger:model genericErrorPayload type GenericErrorPayload struct { @@ -22,7 +21,7 @@ type GenericErrorPayload struct { Debug string `json:"debug,omitempty"` // details - Details []map[string]interface{} `json:"details"` + Details map[string]interface{} `json:"details,omitempty"` // message Message string `json:"message,omitempty"` diff --git a/internal/httpclient/models/health_not_ready_status.go b/internal/httpclient/models/health_not_ready_status.go index 64626783ed4..d10e6d25c60 100644 --- a/internal/httpclient/models/health_not_ready_status.go +++ b/internal/httpclient/models/health_not_ready_status.go @@ -6,12 +6,11 @@ package models // Editing this file might prove futile when you re-run the swagger generate command import ( - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // HealthNotReadyStatus health not ready status -// // swagger:model healthNotReadyStatus type HealthNotReadyStatus struct { diff --git a/internal/httpclient/models/health_status.go b/internal/httpclient/models/health_status.go index 60ba32416b0..517e8500ffd 100644 --- a/internal/httpclient/models/health_status.go +++ b/internal/httpclient/models/health_status.go @@ -6,12 +6,11 @@ package models // Editing this file might prove futile when you re-run the swagger generate command import ( - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // HealthStatus health status -// // swagger:model healthStatus type HealthStatus struct { diff --git a/internal/httpclient/models/identity.go b/internal/httpclient/models/identity.go index fbc0a84aee7..59ffde65e2e 100644 --- a/internal/httpclient/models/identity.go +++ b/internal/httpclient/models/identity.go @@ -9,13 +9,12 @@ import ( "strconv" "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // Identity identity -// // swagger:model Identity type Identity struct { diff --git a/internal/httpclient/models/login_request.go b/internal/httpclient/models/login_request.go index 0e1c113787f..6ac167cd2d8 100644 --- a/internal/httpclient/models/login_request.go +++ b/internal/httpclient/models/login_request.go @@ -7,13 +7,12 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // LoginRequest login request -// // swagger:model loginRequest type LoginRequest struct { diff --git a/internal/httpclient/models/login_request_method.go b/internal/httpclient/models/login_request_method.go index 1fec0c40e46..571408bc47d 100644 --- a/internal/httpclient/models/login_request_method.go +++ b/internal/httpclient/models/login_request_method.go @@ -7,13 +7,12 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // LoginRequestMethod login request method -// // swagger:model loginRequestMethod type LoginRequestMethod struct { diff --git a/internal/httpclient/models/login_request_method_config.go b/internal/httpclient/models/login_request_method_config.go index 1d24fc43eb1..82c2f520788 100644 --- a/internal/httpclient/models/login_request_method_config.go +++ b/internal/httpclient/models/login_request_method_config.go @@ -9,13 +9,12 @@ import ( "strconv" "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // LoginRequestMethodConfig login request method config -// // swagger:model loginRequestMethodConfig type LoginRequestMethodConfig struct { diff --git a/internal/httpclient/models/profile_management_request.go b/internal/httpclient/models/profile_management_request.go index d5f9eb42e0c..8329cdc7f18 100644 --- a/internal/httpclient/models/profile_management_request.go +++ b/internal/httpclient/models/profile_management_request.go @@ -7,7 +7,7 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) @@ -18,7 +18,6 @@ import ( // (especially traits) in a selfservice manner. // // For more information head over to: https://www.ory.sh/docs/kratos/selfservice/profile -// // swagger:model profileManagementRequest type ProfileManagementRequest struct { diff --git a/internal/httpclient/models/registration_request.go b/internal/httpclient/models/registration_request.go index 93aadabd35e..476d8ca158b 100644 --- a/internal/httpclient/models/registration_request.go +++ b/internal/httpclient/models/registration_request.go @@ -7,13 +7,12 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // RegistrationRequest registration request -// // swagger:model registrationRequest type RegistrationRequest struct { diff --git a/internal/httpclient/models/registration_request_method.go b/internal/httpclient/models/registration_request_method.go index 70f012f06fc..4e6dbe10ff9 100644 --- a/internal/httpclient/models/registration_request_method.go +++ b/internal/httpclient/models/registration_request_method.go @@ -7,12 +7,11 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // RegistrationRequestMethod registration request method -// // swagger:model registrationRequestMethod type RegistrationRequestMethod struct { diff --git a/internal/httpclient/models/registration_request_method_config.go b/internal/httpclient/models/registration_request_method_config.go index dd532dccfa0..fb9bbdd669f 100644 --- a/internal/httpclient/models/registration_request_method_config.go +++ b/internal/httpclient/models/registration_request_method_config.go @@ -9,13 +9,12 @@ import ( "strconv" "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // RegistrationRequestMethodConfig registration request method config -// // swagger:model registrationRequestMethodConfig type RegistrationRequestMethodConfig struct { diff --git a/internal/httpclient/models/session.go b/internal/httpclient/models/session.go index ae09bba1941..6f56dbd8300 100644 --- a/internal/httpclient/models/session.go +++ b/internal/httpclient/models/session.go @@ -7,13 +7,12 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // Session session -// // swagger:model session type Session struct { diff --git a/internal/httpclient/models/traits.go b/internal/httpclient/models/traits.go index 6aefa298503..e39059ab688 100644 --- a/internal/httpclient/models/traits.go +++ b/internal/httpclient/models/traits.go @@ -6,6 +6,5 @@ package models // Editing this file might prove futile when you re-run the swagger generate command // Traits traits -// // swagger:model Traits type Traits interface{} diff --git a/internal/httpclient/models/uuid.go b/internal/httpclient/models/uuid.go index f28209a7a40..f5b247624d0 100644 --- a/internal/httpclient/models/uuid.go +++ b/internal/httpclient/models/uuid.go @@ -7,12 +7,11 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/validate" ) // UUID UUID -// // swagger:model UUID type UUID strfmt.UUID4 diff --git a/internal/httpclient/models/verifiable_address.go b/internal/httpclient/models/verifiable_address.go index 7f6d5f9fbfe..7d6de66bae2 100644 --- a/internal/httpclient/models/verifiable_address.go +++ b/internal/httpclient/models/verifiable_address.go @@ -7,13 +7,12 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // VerifiableAddress verifiable address -// // swagger:model VerifiableAddress type VerifiableAddress struct { diff --git a/internal/httpclient/models/verifiable_address_type.go b/internal/httpclient/models/verifiable_address_type.go index ec7b8b5ca30..6a34a17742e 100644 --- a/internal/httpclient/models/verifiable_address_type.go +++ b/internal/httpclient/models/verifiable_address_type.go @@ -6,11 +6,10 @@ package models // Editing this file might prove futile when you re-run the swagger generate command import ( - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" ) // VerifiableAddressType verifiable address type -// // swagger:model VerifiableAddressType type VerifiableAddressType string diff --git a/internal/httpclient/models/verification_request.go b/internal/httpclient/models/verification_request.go index 95c22c31a89..037ff937d00 100644 --- a/internal/httpclient/models/verification_request.go +++ b/internal/httpclient/models/verification_request.go @@ -7,7 +7,7 @@ package models import ( "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) @@ -18,7 +18,6 @@ import ( // channel such as an email address or a phone number. // // For more information head over to: https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation -// // swagger:model verificationRequest type VerificationRequest struct { diff --git a/internal/httpclient/models/version.go b/internal/httpclient/models/version.go index 8e687bcb20d..748ab7974b1 100644 --- a/internal/httpclient/models/version.go +++ b/internal/httpclient/models/version.go @@ -6,12 +6,11 @@ package models // Editing this file might prove futile when you re-run the swagger generate command import ( - "github.com/go-openapi/strfmt" + strfmt "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" ) // Version version -// // swagger:model version type Version struct { diff --git a/selfservice/flow/login/handler.go b/selfservice/flow/login/handler.go index beaefc1f613..e90329e3df4 100644 --- a/selfservice/flow/login/handler.go +++ b/selfservice/flow/login/handler.go @@ -3,6 +3,7 @@ package login import ( "net/http" "net/url" + "time" "github.com/julienschmidt/httprouter" "github.com/justinas/nosurf" @@ -158,10 +159,11 @@ type getSelfServiceBrowserLoginRequestParameters struct { // 200: loginRequest // 403: genericError // 404: genericError +// 410: genericError // 500: genericError func (h *Handler) publicFetchLoginRequest(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { if err := h.fetchLoginRequest(w, r, true); err != nil { - h.d.Writer().WriteError(w, r, x.ErrInvalidCSRFToken.WithTrace(err).WithDebugf("%s", err)) + h.d.Writer().WriteError(w, r, err) return } } @@ -173,15 +175,26 @@ func (h *Handler) adminFetchLoginRequest(w http.ResponseWriter, r *http.Request, } } -func (h *Handler) fetchLoginRequest(w http.ResponseWriter, r *http.Request, mustVerify bool) error { +func (h *Handler) fetchLoginRequest(w http.ResponseWriter, r *http.Request, isPublic bool) error { ar, err := h.d.LoginRequestPersister().GetLoginRequest(r.Context(), x.ParseUUID(r.URL.Query().Get("request"))) if err != nil { - h.d.Writer().WriteError(w, r, x.ErrInvalidCSRFToken.WithTrace(err).WithDebugf("%s", err)) + if isPublic { + return errors.WithStack(x.ErrInvalidCSRFToken.WithTrace(err).WithDebugf("%s", err)) + } return err } - if mustVerify && !nosurf.VerifyToken(h.csrf(r), ar.CSRFToken) { - return errors.WithStack(x.ErrInvalidCSRFToken) + if isPublic { + if !nosurf.VerifyToken(h.csrf(r), ar.CSRFToken) { + + return errors.WithStack(x.ErrInvalidCSRFToken) + } + } + + if ar.ExpiresAt.Before(time.Now()) { + return errors.WithStack(x.ErrGone. + WithReason("The login request has expired. Redirect the user to the login endpoint to initialize a new session."). + WithDetail("redirect_to", urlx.AppendPaths(h.c.SelfPublicURL(), BrowserLoginPath).String())) } h.d.Writer().Write(w, r, ar) diff --git a/selfservice/flow/login/handler_test.go b/selfservice/flow/login/handler_test.go index d18e150cbad..b30e47e396b 100644 --- a/selfservice/flow/login/handler_test.go +++ b/selfservice/flow/login/handler_test.go @@ -10,13 +10,15 @@ import ( "time" "github.com/gobuffalo/httptest" + "github.com/justinas/nosurf" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/tidwall/gjson" - "github.com/ory/kratos/selfservice/form" "github.com/ory/viper" + "github.com/ory/kratos/selfservice/form" + "github.com/ory/kratos/driver/configuration" "github.com/ory/kratos/internal" "github.com/ory/kratos/selfservice/errorx" @@ -141,6 +143,7 @@ func TestLoginHandler(t *testing.T) { return httptest.NewServer(x.NewTestCSRFHandler(public)), httptest.NewServer(admin) }() defer public.Close() + defer admin.Close() redirTS := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNoContent) @@ -166,6 +169,21 @@ func TestLoginHandler(t *testing.T) { assert.Contains(t, gjson.GetBytes(body, "methods.password.config.action").String(), public.URL, "%s", body) } + assertExpiredPayload := func(t *testing.T, res *http.Response, body []byte) { + assert.EqualValues(t, http.StatusGone, res.StatusCode) + assert.Equal(t, public.URL+login.BrowserLoginPath, gjson.GetBytes(body, "error.details.redirect_to").String(), "%s", body) + } + + newExpiredRequest := func() *login.Request { + return &login.Request{ + ID: x.NewUUID(), + ExpiresAt: time.Now().Add(-time.Minute), + IssuedAt: time.Now().Add(-time.Minute * 2), + RequestURL: public.URL + login.BrowserLoginPath, + CSRFToken: x.FakeCSRFToken, + } + } + errTS := errorx.NewErrorTestServer(t, reg) defer errTS.Close() @@ -175,9 +193,18 @@ func TestLoginHandler(t *testing.T) { t.Run("daemon=admin", func(t *testing.T) { loginTS := newLoginTS(t, admin.URL, nil) defer loginTS.Close() - viper.Set(configuration.ViperKeyURLsLogin, loginTS.URL) - assertRequestPayload(t, x.EasyGetBody(t, public.Client(), public.URL+login.BrowserLoginPath)) + + t.Run("case=valid", func(t *testing.T) { + assertRequestPayload(t, x.EasyGetBody(t, admin.Client(), public.URL+login.BrowserLoginPath)) + }) + + t.Run("case=expired", func(t *testing.T) { + lr := newExpiredRequest() + require.NoError(t, reg.LoginRequestPersister().CreateLoginRequest(context.Background(), lr)) + res, body := x.EasyGet(t, admin.Client(), admin.URL+login.BrowserLoginRequestsPath+"?request="+lr.ID.String()) + assertExpiredPayload(t, res, body) + }) }) t.Run("daemon=public", func(t *testing.T) { @@ -203,5 +230,20 @@ func TestLoginHandler(t *testing.T) { body := x.EasyGetBody(t, hc, public.URL+login.BrowserLoginPath) assert.Contains(t, gjson.GetBytes(body, "error").String(), "csrf_token", "%s", body) }) + + t.Run("case=expired", func(t *testing.T) { + reg.SetCSRFTokenGenerator(x.FakeCSRFTokenGenerator) + t.Cleanup(func() { + reg.SetCSRFTokenGenerator(nosurf.Token) + }) + + loginTS := newLoginTS(t, public.URL, hc) + defer loginTS.Close() + + lr := newExpiredRequest() + require.NoError(t, reg.LoginRequestPersister().CreateLoginRequest(context.Background(), lr)) + res, body := x.EasyGet(t, admin.Client(), admin.URL+login.BrowserLoginRequestsPath+"?request="+lr.ID.String()) + assertExpiredPayload(t, res, body) + }) }) } diff --git a/selfservice/flow/profile/handler.go b/selfservice/flow/profile/handler.go index 4668c1cc08f..852fcd9bc8f 100644 --- a/selfservice/flow/profile/handler.go +++ b/selfservice/flow/profile/handler.go @@ -177,10 +177,11 @@ type getSelfServiceBrowserLoginRequestParameters struct { // 200: profileManagementRequest // 403: genericError // 404: genericError +// 410: genericError // 500: genericError func (h *Handler) publicFetchUpdateProfileRequest(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { if err := h.fetchUpdateProfileRequest(w, r, true); err != nil { - h.d.Writer().WriteError(w, r, herodot.ErrForbidden.WithReasonf("Access privileges are missing, invalid, or not sufficient to access this endpoint.").WithTrace(err).WithDebugf("%s", err)) + h.d.Writer().WriteError(w, r, err) return } } @@ -192,36 +193,48 @@ func (h *Handler) adminFetchUpdateProfileRequest(w http.ResponseWriter, r *http. } } +func (h *Handler) wrapErrorForbidden(err error, shouldWrap bool) error { + if shouldWrap { + return herodot.ErrForbidden.WithReasonf("Access privileges are missing, invalid, or not sufficient to access this endpoint.").WithTrace(err).WithDebugf("%s", err) + } + + return err +} + func (h *Handler) fetchUpdateProfileRequest(w http.ResponseWriter, r *http.Request, checkSession bool) error { rid := x.ParseUUID(r.URL.Query().Get("request")) - ar, err := h.d.ProfileRequestPersister().GetProfileRequest(r.Context(), rid) + pr, err := h.d.ProfileRequestPersister().GetProfileRequest(r.Context(), rid) if err != nil { - return err + return h.wrapErrorForbidden(err, checkSession) } if checkSession { sess, err := h.d.SessionManager().FetchFromRequest(r.Context(), w, r) if err != nil { - return err + return h.wrapErrorForbidden(err, checkSession) } - if ar.IdentityID != sess.Identity.ID { + if pr.IdentityID != sess.Identity.ID { return errors.WithStack(herodot.ErrForbidden.WithReasonf("The request was made for another identity and has been blocked for security reasons.")) } } - traitsSchema, err := h.c.IdentityTraitsSchemas().FindSchemaByID(ar.Identity.TraitsSchemaID) + if pr.ExpiresAt.Before(time.Now()) { + return errors.WithStack(x.ErrGone. + WithReason("The profile management request has expired. Redirect the user to the login endpoint to initialize a new session."). + WithDetail("redirect_to", urlx.AppendPaths(h.c.SelfPublicURL(), PublicProfileManagementPath).String())) + } + + traitsSchema, err := h.c.IdentityTraitsSchemas().FindSchemaByID(pr.Identity.TraitsSchemaID) if err != nil { - h.d.Logger().Error(err) - return errors.WithStack(herodot.ErrInternalServerError.WithReason("The traits schema for this identity could not be found. This is an configuration error.")) + return herodot.ErrInternalServerError.WithReason("The traits schema for this identity could not be found. This is an configuration error.").WithDebugf("%s", err).WithTrace(err) } - if err := ar.Form.SortFields(traitsSchema.URL, "traits"); err != nil { - h.d.Logger().Error(err) - return errors.WithStack(herodot.ErrInternalServerError.WithReason("There was an error with sorting the form fields. This is an configuration error.")) + if err := pr.Form.SortFields(traitsSchema.URL, "traits"); err != nil { + return herodot.ErrInternalServerError.WithReason("There was an error with sorting the form fields. This is an configuration error.").WithDebugf("%s", err).WithTrace(err) } - h.d.Writer().Write(w, r, ar) + h.d.Writer().Write(w, r, pr) return nil } diff --git a/selfservice/flow/profile/handler_test.go b/selfservice/flow/profile/handler_test.go index 2794d73b0dc..6653c646396 100644 --- a/selfservice/flow/profile/handler_test.go +++ b/selfservice/flow/profile/handler_test.go @@ -1,6 +1,7 @@ package profile_test import ( + "context" "encoding/json" "fmt" "io/ioutil" @@ -9,6 +10,7 @@ import ( "net/url" "strings" "testing" + "time" "github.com/julienschmidt/httprouter" "github.com/stretchr/testify/assert" @@ -30,6 +32,7 @@ import ( "github.com/ory/kratos/internal/httpclient/client/common" "github.com/ory/kratos/internal/httpclient/models" "github.com/ory/kratos/selfservice/errorx" + "github.com/ory/kratos/selfservice/flow/login" "github.com/ory/kratos/selfservice/flow/profile" "github.com/ory/kratos/selfservice/form" "github.com/ory/kratos/session" @@ -139,6 +142,37 @@ func TestUpdateProfile(t *testing.T) { return rs } + submitForm := func(t *testing.T, req *common.GetSelfServiceBrowserProfileManagementRequestOK, values url.Values) (string, *common.GetSelfServiceBrowserProfileManagementRequestOK) { + res, err := primaryUser.PostForm(pointerx.StringR(req.Payload.Form.Action), values) + require.NoError(t, err) + b, err := ioutil.ReadAll(res.Body) + require.NoError(t, err) + defer res.Body.Close() + assert.EqualValues(t, http.StatusNoContent, res.StatusCode, "%s", b) + + assert.Equal(t, ui.URL, res.Request.URL.Scheme+"://"+res.Request.URL.Host) + assert.Equal(t, "/profile", res.Request.URL.Path, "should end up at the profile URL") + + rs, err := publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( + common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(primaryUser). + WithRequest(res.Request.URL.Query().Get("request")), + ) + require.NoError(t, err) + body, err := json.Marshal(rs.Payload) + require.NoError(t, err) + return string(body), rs + } + + newExpiredRequest := func() *profile.Request { + return &profile.Request{ + ID: x.NewUUID(), + ExpiresAt: time.Now().Add(-time.Minute), + IssuedAt: time.Now().Add(-time.Minute * 2), + RequestURL: publicTS.URL + login.BrowserLoginPath, + Identity: primaryIdentity, + } + } + t.Run("description=call endpoints", func(t *testing.T) { pr, ar := x.NewRouterPublic(), x.NewRouterAdmin() reg.ProfileManagementHandler().RegisterPublicRoutes(pr) @@ -160,232 +194,149 @@ func TestUpdateProfile(t *testing.T) { assert.EqualValues(t, http.StatusUnauthorized, res.StatusCode) }) } - - for name, daemon := range map[string]struct { - statusCode int - url string - }{ - "public": {statusCode: 401, url: publicTS.URL}, - "admin": {statusCode: 404, url: adminTS.URL}, - } { - t.Run("daemon="+name, func(t *testing.T) { - for k, tc := range []*http.Request{ - httpx.MustNewRequest("GET", daemon.url+profile.PublicProfileManagementRequestPath+"?request=1234", nil, ""), - } { - t.Run(fmt.Sprintf("case=%d", k), func(t *testing.T) { - res, err := http.DefaultClient.Do(tc) - require.NoError(t, err) - assert.EqualValues(t, daemon.statusCode, res.StatusCode) - }) - } - }) - } }) - t.Run("daemon=public/description=fetching a non-existent request should return a 403 error", func(t *testing.T) { - _, err := publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( - common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(otherUser).WithRequest("i-do-not-exist"), - ) - require.Error(t, err) + t.Run("daemon=admin", func(t *testing.T) { + t.Run("description=fetching a non-existent request should return a 404 error", func(t *testing.T) { + _, err := adminClient.Common.GetSelfServiceBrowserProfileManagementRequest( + common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(otherUser).WithRequest("i-do-not-exist"), + ) + require.Error(t, err) - require.IsType(t, &common.GetSelfServiceBrowserProfileManagementRequestForbidden{}, err) - assert.Equal(t, int64(http.StatusForbidden), err.(*common.GetSelfServiceBrowserProfileManagementRequestForbidden).Payload.Error.Code) - }) - - t.Run("daemon=admin/description=fetching a non-existent request should return a 404 error", func(t *testing.T) { - _, err := adminClient.Common.GetSelfServiceBrowserProfileManagementRequest( - common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(otherUser).WithRequest("i-do-not-exist"), - ) - require.Error(t, err) - - require.IsType(t, &common.GetSelfServiceBrowserProfileManagementRequestNotFound{}, err) - assert.Equal(t, int64(http.StatusNotFound), err.(*common.GetSelfServiceBrowserProfileManagementRequestNotFound).Payload.Error.Code) - }) - - t.Run("description=should fail to fetch request if identity changed", func(t *testing.T) { - res, err := primaryUser.Get(publicTS.URL + profile.PublicProfileManagementPath) - require.NoError(t, err) - - rid := res.Request.URL.Query().Get("request") - require.NotEmpty(t, rid) - - _, err = publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( - common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(otherUser).WithRequest(rid), - ) - require.Error(t, err) - require.IsType(t, &common.GetSelfServiceBrowserProfileManagementRequestForbidden{}, err) - assert.EqualValues(t, int64(http.StatusForbidden), err.(*common.GetSelfServiceBrowserProfileManagementRequestForbidden).Payload.Error.Code, "should return a 403 error because the identities from the cookies do not match") - }) - - t.Run("description=should fail to post data if CSRF is missing", func(t *testing.T) { - rs := makeRequest(t) - f := rs.Payload.Form - res, err := primaryUser.PostForm(pointerx.StringR(f.Action), url.Values{}) - require.NoError(t, err) - assert.EqualValues(t, 400, res.StatusCode, "should return a 400 error because CSRF token is not set") - }) - - t.Run("description=should redirect to profile management ui and /profiles/requests?request=... should come back with the right information", func(t *testing.T) { - res, err := primaryUser.Get(publicTS.URL + profile.PublicProfileManagementPath) - require.NoError(t, err) - - assert.Equal(t, ui.URL, res.Request.URL.Scheme+"://"+res.Request.URL.Host) - assert.Equal(t, "/profile", res.Request.URL.Path, "should end up at the profile URL") - - rid := res.Request.URL.Query().Get("request") - require.NotEmpty(t, rid) - - pr, err := publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( - common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(primaryUser).WithRequest(rid), - ) - require.NoError(t, err, "%s", rid) - - assert.Equal(t, rid, string(pr.Payload.ID)) - assert.NotEmpty(t, pr.Payload.Identity) - assert.Equal(t, primaryIdentity.ID.String(), string(pr.Payload.Identity.ID)) - assert.JSONEq(t, string(primaryIdentity.Traits), x.MustEncodeJSON(t, pr.Payload.Identity.Traits)) - assert.Equal(t, primaryIdentity.TraitsSchemaID, pointerx.StringR(pr.Payload.Identity.TraitsSchemaID)) - assert.Equal(t, publicTS.URL+profile.PublicProfileManagementPath, pointerx.StringR(pr.Payload.RequestURL)) - - found := false - for i := range pr.Payload.Form.Fields { - if pointerx.StringR(pr.Payload.Form.Fields[i].Name) == form.CSRFTokenName { - found = true - require.NotEmpty(t, pr.Payload.Form.Fields[i]) - pr.Payload.Form.Fields = append(pr.Payload.Form.Fields[:i], pr.Payload.Form.Fields[i+1:]...) - break - } - } - require.True(t, found) - - assert.EqualValues(t, &models.Form{ - Action: pointerx.String(publicTS.URL + profile.PublicProfileManagementUpdatePath + "?request=" + rid), - Method: pointerx.String("POST"), - Fields: models.FormFields{ - &models.FormField{Name: pointerx.String("traits.email"), Type: pointerx.String("text"), Value: "john@doe.com", Disabled: true}, - &models.FormField{Name: pointerx.String("traits.stringy"), Type: pointerx.String("text"), Value: "foobar"}, - &models.FormField{Name: pointerx.String("traits.numby"), Type: pointerx.String("number"), Value: json.Number("2.5")}, - &models.FormField{Name: pointerx.String("traits.booly"), Type: pointerx.String("checkbox"), Value: false}, - &models.FormField{Name: pointerx.String("traits.should_big_number"), Type: pointerx.String("number"), Value: json.Number("2048")}, - &models.FormField{Name: pointerx.String("traits.should_long_string"), Type: pointerx.String("text"), Value: "asdfasdfasdfasdfasfdasdfasdfasdf"}, - }, - }, pr.Payload.Form) - }) - - submitForm := func(t *testing.T, req *common.GetSelfServiceBrowserProfileManagementRequestOK, values url.Values) (string, *common.GetSelfServiceBrowserProfileManagementRequestOK) { - res, err := primaryUser.PostForm(pointerx.StringR(req.Payload.Form.Action), values) - require.NoError(t, err) - b, err := ioutil.ReadAll(res.Body) - require.NoError(t, err) - defer res.Body.Close() - assert.EqualValues(t, http.StatusNoContent, res.StatusCode, "%s", b) + require.IsType(t, &common.GetSelfServiceBrowserProfileManagementRequestNotFound{}, err) + assert.Equal(t, int64(http.StatusNotFound), err.(*common.GetSelfServiceBrowserProfileManagementRequestNotFound).Payload.Error.Code) + }) - assert.Equal(t, ui.URL, res.Request.URL.Scheme+"://"+res.Request.URL.Host) - assert.Equal(t, "/profile", res.Request.URL.Path, "should end up at the profile URL") + t.Run("description=fetching an expired request returns 410", func(t *testing.T) { + pr := newExpiredRequest() + require.NoError(t, reg.ProfileRequestPersister().CreateProfileRequest(context.Background(), pr)) - rs, err := publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( - common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(primaryUser). - WithRequest(res.Request.URL.Query().Get("request")), - ) - require.NoError(t, err) - body, err := json.Marshal(rs.Payload) - require.NoError(t, err) - return string(body), rs - } + _, err := adminClient.Common.GetSelfServiceBrowserProfileManagementRequest( + common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(primaryUser).WithRequest(pr.ID.String()), + ) + require.Error(t, err) - t.Run("description=should come back with form errors if some profile data is invalid", func(t *testing.T) { - rs := makeRequest(t) - values := fieldsToURLValues(rs.Payload.Form.Fields) - values.Set("traits.should_long_string", "too-short") - values.Set("traits.stringy", "bazbar") // it should still override new values! - actual, _ := submitForm(t, rs, values) - - assert.NotEmpty(t, gjson.Get(actual, "form.fields.#(name==csrf_token).value").String(), "%s", actual) - assert.Equal(t, "too-short", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).value").String(), "%s", actual) - assert.Equal(t, "bazbar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) - assert.Equal(t, "2.5", gjson.Get(actual, "form.fields.#(name==traits.numby).value").String(), "%s", actual) - assert.Equal(t, "length must be >= 25, but got 9", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).errors.0.message").String(), "%s", actual) + require.IsType(t, &common.GetSelfServiceBrowserProfileManagementRequestGone{}, err, "%+v", err) + assert.Equal(t, int64(http.StatusGone), err.(*common.GetSelfServiceBrowserProfileManagementRequestGone).Payload.Error.Code) + }) }) - t.Run("description=should update protected field with sudo mode", func(t *testing.T) { - viper.Set(configuration.ViperKeySelfServicePrivilegedAuthenticationAfter, "1m") - defer viper.Set(configuration.ViperKeySelfServicePrivilegedAuthenticationAfter, "1ns") + t.Run("daemon=public", func(t *testing.T) { + t.Run("description=fetching a non-existent request should return a 403 error", func(t *testing.T) { + _, err := publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( + common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(otherUser).WithRequest("i-do-not-exist"), + ) + require.Error(t, err) - rs := makeRequest(t) - newEmail := "not-john-doe@mail.com" - values := fieldsToURLValues(rs.Payload.Form.Fields) - values.Set("traits.email", newEmail) - actual, response := submitForm(t, rs, values) - assert.True(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) + require.IsType(t, &common.GetSelfServiceBrowserProfileManagementRequestForbidden{}, err) + assert.Equal(t, int64(http.StatusForbidden), err.(*common.GetSelfServiceBrowserProfileManagementRequestForbidden).Payload.Error.Code) + }) - assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.numby).errors").Value(), "%s", actual) - assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).errors").Value(), "%s", actual) - assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_long_string).errors").Value(), "%s", actual) + t.Run("description=fetching an expired request returns 410", func(t *testing.T) { + pr := newExpiredRequest() + require.NoError(t, reg.ProfileRequestPersister().CreateProfileRequest(context.Background(), pr)) - assert.Equal(t, newEmail, gjson.Get(actual, "form.fields.#(name==traits.email).value").Value(), "%s", actual) + _, err := publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( + common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(primaryUser).WithRequest(pr.ID.String()), + ) + require.Error(t, err) - assert.Equal(t, "foobar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) // sanity check if original payload is still here - }) + require.IsType(t, &common.GetSelfServiceBrowserProfileManagementRequestGone{}, err) + assert.Equal(t, int64(http.StatusGone), err.(*common.GetSelfServiceBrowserProfileManagementRequestGone).Payload.Error.Code) + }) - t.Run("description=should come back with form errors if trying to update protected field without sudo mode", func(t *testing.T) { - rs := makeRequest(t) - values := fieldsToURLValues(rs.Payload.Form.Fields) - values.Set("traits.email", "not-john-doe") - res, err := primaryUser.PostForm(pointerx.StringR(rs.Payload.Form.Action), values) - require.NoError(t, err) - defer res.Body.Close() + t.Run("description=should fail to fetch request if identity changed", func(t *testing.T) { + res, err := primaryUser.Get(publicTS.URL + profile.PublicProfileManagementPath) + require.NoError(t, err) - assert.Contains(t, res.Request.URL.String(), errTs.URL) - assert.EqualValues(t, http.StatusOK, res.StatusCode) + rid := res.Request.URL.Query().Get("request") + require.NotEmpty(t, rid) - body, err := ioutil.ReadAll(res.Body) - require.NoError(t, err) - assert.Contains(t, gjson.Get(string(body), "0.reason").String(), "A field was modified that updates one or more credentials-related settings", "%s", body) - }) + _, err = publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( + common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(otherUser).WithRequest(rid), + ) + require.Error(t, err) + require.IsType(t, &common.GetSelfServiceBrowserProfileManagementRequestForbidden{}, err) + assert.EqualValues(t, int64(http.StatusForbidden), err.(*common.GetSelfServiceBrowserProfileManagementRequestForbidden).Payload.Error.Code, "should return a 403 error because the identities from the cookies do not match") + }) - t.Run("description=should retry with invalid payloads multiple times before succeeding", func(t *testing.T) { - t.Run("flow=fail first update", func(t *testing.T) { + t.Run("description=should fail to post data if CSRF is missing", func(t *testing.T) { rs := makeRequest(t) - values := fieldsToURLValues(rs.Payload.Form.Fields) - values.Set("traits.should_big_number", "1") - actual, response := submitForm(t, rs, values) - assert.False(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) - - assert.Equal(t, "1", gjson.Get(actual, "form.fields.#(name==traits.should_big_number).value").String(), "%s", actual) - assert.Equal(t, "must be >= 1200 but found 1", gjson.Get(actual, "form.fields.#(name==traits.should_big_number).errors.0.message").String(), "%s", actual) + f := rs.Payload.Form + res, err := primaryUser.PostForm(pointerx.StringR(f.Action), url.Values{}) + require.NoError(t, err) + assert.EqualValues(t, 400, res.StatusCode, "should return a 400 error because CSRF token is not set") + }) - assert.Equal(t, "foobar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) // sanity check if original payload is still here + t.Run("description=should redirect to profile management ui and /profiles/requests?request=... should come back with the right information", func(t *testing.T) { + res, err := primaryUser.Get(publicTS.URL + profile.PublicProfileManagementPath) + require.NoError(t, err) + + assert.Equal(t, ui.URL, res.Request.URL.Scheme+"://"+res.Request.URL.Host) + assert.Equal(t, "/profile", res.Request.URL.Path, "should end up at the profile URL") + + rid := res.Request.URL.Query().Get("request") + require.NotEmpty(t, rid) + + pr, err := publicClient.Common.GetSelfServiceBrowserProfileManagementRequest( + common.NewGetSelfServiceBrowserProfileManagementRequestParams().WithHTTPClient(primaryUser).WithRequest(rid), + ) + require.NoError(t, err, "%s", rid) + + assert.Equal(t, rid, string(pr.Payload.ID)) + assert.NotEmpty(t, pr.Payload.Identity) + assert.Equal(t, primaryIdentity.ID.String(), string(pr.Payload.Identity.ID)) + assert.JSONEq(t, string(primaryIdentity.Traits), x.MustEncodeJSON(t, pr.Payload.Identity.Traits)) + assert.Equal(t, primaryIdentity.TraitsSchemaID, pointerx.StringR(pr.Payload.Identity.TraitsSchemaID)) + assert.Equal(t, publicTS.URL+profile.PublicProfileManagementPath, pointerx.StringR(pr.Payload.RequestURL)) + + found := false + for i := range pr.Payload.Form.Fields { + if pointerx.StringR(pr.Payload.Form.Fields[i].Name) == form.CSRFTokenName { + found = true + require.NotEmpty(t, pr.Payload.Form.Fields[i]) + pr.Payload.Form.Fields = append(pr.Payload.Form.Fields[:i], pr.Payload.Form.Fields[i+1:]...) + break + } + } + require.True(t, found) + + assert.EqualValues(t, &models.Form{ + Action: pointerx.String(publicTS.URL + profile.PublicProfileManagementUpdatePath + "?request=" + rid), + Method: pointerx.String("POST"), + Fields: models.FormFields{ + &models.FormField{Name: pointerx.String("traits.email"), Type: pointerx.String("text"), Value: "john@doe.com", Disabled: true}, + &models.FormField{Name: pointerx.String("traits.stringy"), Type: pointerx.String("text"), Value: "foobar"}, + &models.FormField{Name: pointerx.String("traits.numby"), Type: pointerx.String("number"), Value: json.Number("2.5")}, + &models.FormField{Name: pointerx.String("traits.booly"), Type: pointerx.String("checkbox"), Value: false}, + &models.FormField{Name: pointerx.String("traits.should_big_number"), Type: pointerx.String("number"), Value: json.Number("2048")}, + &models.FormField{Name: pointerx.String("traits.should_long_string"), Type: pointerx.String("text"), Value: "asdfasdfasdfasdfasfdasdfasdfasdf"}, + }, + }, pr.Payload.Form) }) - t.Run("flow=fail second update", func(t *testing.T) { + t.Run("description=should come back with form errors if some profile data is invalid", func(t *testing.T) { rs := makeRequest(t) values := fieldsToURLValues(rs.Payload.Form.Fields) - values.Del("traits.should_big_number") - values.Set("traits.should_long_string", "short") - values.Set("traits.numby", "this-is-not-a-number") - actual, response := submitForm(t, rs, values) - assert.False(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) - - assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).errors.0.message").String(), "%s", actual) - assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).value").String(), "%s", actual) - - assert.Equal(t, "short", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).value").String(), "%s", actual) - assert.Equal(t, "length must be >= 25, but got 5", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).errors.0.message").String(), "%s", actual) - - assert.Equal(t, "this-is-not-a-number", gjson.Get(actual, "form.fields.#(name==traits.numby).value").String(), "%s", actual) - assert.Equal(t, "expected number, but got string", gjson.Get(actual, "form.fields.#(name==traits.numby).errors.0.message").String(), "%s", actual) - - assert.Equal(t, "foobar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) // sanity check if original payload is still here + values.Set("traits.should_long_string", "too-short") + values.Set("traits.stringy", "bazbar") // it should still override new values! + actual, _ := submitForm(t, rs, values) + + assert.NotEmpty(t, gjson.Get(actual, "form.fields.#(name==csrf_token).value").String(), "%s", actual) + assert.Equal(t, "too-short", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).value").String(), "%s", actual) + assert.Equal(t, "bazbar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) + assert.Equal(t, "2.5", gjson.Get(actual, "form.fields.#(name==traits.numby).value").String(), "%s", actual) + assert.Equal(t, "length must be >= 25, but got 9", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).errors.0.message").String(), "%s", actual) }) - t.Run("flow=succeed with final request", func(t *testing.T) { + t.Run("description=should update protected field with sudo mode", func(t *testing.T) { + viper.Set(configuration.ViperKeySelfServicePrivilegedAuthenticationAfter, "1m") + defer viper.Set(configuration.ViperKeySelfServicePrivilegedAuthenticationAfter, "1ns") + rs := makeRequest(t) + newEmail := "not-john-doe@mail.com" values := fieldsToURLValues(rs.Payload.Form.Fields) - // set email to the one that is in the db as it should not be modified - values.Set("traits.email", "not-john-doe@mail.com") - values.Set("traits.numby", "15") - values.Set("traits.should_big_number", "9001") - values.Set("traits.should_long_string", "this is such a long string, amazing stuff!") + values.Set("traits.email", newEmail) actual, response := submitForm(t, rs, values) assert.True(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) @@ -393,19 +344,91 @@ func TestUpdateProfile(t *testing.T) { assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).errors").Value(), "%s", actual) assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_long_string).errors").Value(), "%s", actual) - assert.Equal(t, 15.0, gjson.Get(actual, "form.fields.#(name==traits.numby).value").Value(), "%s", actual) - assert.Equal(t, 9001.0, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).value").Value(), "%s", actual) - assert.Equal(t, "this is such a long string, amazing stuff!", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).value").Value(), "%s", actual) + assert.Equal(t, newEmail, gjson.Get(actual, "form.fields.#(name==traits.email).value").Value(), "%s", actual) assert.Equal(t, "foobar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) // sanity check if original payload is still here }) - t.Run("flow=try another update with invalid data", func(t *testing.T) { + t.Run("description=should come back with form errors if trying to update protected field without sudo mode", func(t *testing.T) { rs := makeRequest(t) values := fieldsToURLValues(rs.Payload.Form.Fields) - values.Set("traits.should_long_string", "short") - actual, response := submitForm(t, rs, values) - assert.False(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) + values.Set("traits.email", "not-john-doe") + res, err := primaryUser.PostForm(pointerx.StringR(rs.Payload.Form.Action), values) + require.NoError(t, err) + defer res.Body.Close() + + assert.Contains(t, res.Request.URL.String(), errTs.URL) + assert.EqualValues(t, http.StatusOK, res.StatusCode) + + body, err := ioutil.ReadAll(res.Body) + require.NoError(t, err) + assert.Contains(t, gjson.Get(string(body), "0.reason").String(), "A field was modified that updates one or more credentials-related settings", "%s", body) + }) + + t.Run("description=should retry with invalid payloads multiple times before succeeding", func(t *testing.T) { + t.Run("flow=fail first update", func(t *testing.T) { + rs := makeRequest(t) + values := fieldsToURLValues(rs.Payload.Form.Fields) + values.Set("traits.should_big_number", "1") + actual, response := submitForm(t, rs, values) + assert.False(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) + + assert.Equal(t, "1", gjson.Get(actual, "form.fields.#(name==traits.should_big_number).value").String(), "%s", actual) + assert.Equal(t, "must be >= 1200 but found 1", gjson.Get(actual, "form.fields.#(name==traits.should_big_number).errors.0.message").String(), "%s", actual) + + assert.Equal(t, "foobar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) // sanity check if original payload is still here + }) + + t.Run("flow=fail second update", func(t *testing.T) { + rs := makeRequest(t) + values := fieldsToURLValues(rs.Payload.Form.Fields) + values.Del("traits.should_big_number") + values.Set("traits.should_long_string", "short") + values.Set("traits.numby", "this-is-not-a-number") + actual, response := submitForm(t, rs, values) + assert.False(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) + + assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).errors.0.message").String(), "%s", actual) + assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).value").String(), "%s", actual) + + assert.Equal(t, "short", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).value").String(), "%s", actual) + assert.Equal(t, "length must be >= 25, but got 5", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).errors.0.message").String(), "%s", actual) + + assert.Equal(t, "this-is-not-a-number", gjson.Get(actual, "form.fields.#(name==traits.numby).value").String(), "%s", actual) + assert.Equal(t, "expected number, but got string", gjson.Get(actual, "form.fields.#(name==traits.numby).errors.0.message").String(), "%s", actual) + + assert.Equal(t, "foobar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) // sanity check if original payload is still here + }) + + t.Run("flow=succeed with final request", func(t *testing.T) { + rs := makeRequest(t) + values := fieldsToURLValues(rs.Payload.Form.Fields) + // set email to the one that is in the db as it should not be modified + values.Set("traits.email", "not-john-doe@mail.com") + values.Set("traits.numby", "15") + values.Set("traits.should_big_number", "9001") + values.Set("traits.should_long_string", "this is such a long string, amazing stuff!") + actual, response := submitForm(t, rs, values) + assert.True(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) + + assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.numby).errors").Value(), "%s", actual) + assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).errors").Value(), "%s", actual) + assert.Empty(t, gjson.Get(actual, "form.fields.#(name==traits.should_long_string).errors").Value(), "%s", actual) + + assert.Equal(t, 15.0, gjson.Get(actual, "form.fields.#(name==traits.numby).value").Value(), "%s", actual) + assert.Equal(t, 9001.0, gjson.Get(actual, "form.fields.#(name==traits.should_big_number).value").Value(), "%s", actual) + assert.Equal(t, "this is such a long string, amazing stuff!", gjson.Get(actual, "form.fields.#(name==traits.should_long_string).value").Value(), "%s", actual) + + assert.Equal(t, "foobar", gjson.Get(actual, "form.fields.#(name==traits.stringy).value").String(), "%s", actual) // sanity check if original payload is still here + }) + + t.Run("flow=try another update with invalid data", func(t *testing.T) { + rs := makeRequest(t) + values := fieldsToURLValues(rs.Payload.Form.Fields) + values.Set("traits.should_long_string", "short") + actual, response := submitForm(t, rs, values) + assert.False(t, pointerx.BoolR(response.Payload.UpdateSuccessful), "%s", actual) + }) }) }) } diff --git a/selfservice/flow/registration/handler.go b/selfservice/flow/registration/handler.go index fed6ca953b8..99331370ebe 100644 --- a/selfservice/flow/registration/handler.go +++ b/selfservice/flow/registration/handler.go @@ -3,6 +3,7 @@ package registration import ( "net/http" "net/url" + "time" "github.com/julienschmidt/httprouter" "github.com/justinas/nosurf" @@ -151,10 +152,11 @@ type getSelfServiceBrowserRegistrationRequestParameters struct { // 200: registrationRequest // 403: genericError // 404: genericError +// 410: genericError // 500: genericError func (h *Handler) publicFetchRegistrationRequest(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { if err := h.fetchRegistrationRequest(w, r, true); err != nil { - h.d.Writer().WriteError(w, r, x.ErrInvalidCSRFToken.WithTrace(err).WithDebugf("%s", err)) + h.d.Writer().WriteError(w, r, err) return } @@ -167,17 +169,25 @@ func (h *Handler) adminFetchRegistrationRequest(w http.ResponseWriter, r *http.R } } -func (h *Handler) fetchRegistrationRequest(w http.ResponseWriter, r *http.Request, mustVerify bool) error { +func (h *Handler) fetchRegistrationRequest(w http.ResponseWriter, r *http.Request, isPublic bool) error { ar, err := h.d.RegistrationRequestPersister().GetRegistrationRequest(r.Context(), x.ParseUUID(r.URL.Query().Get("request"))) if err != nil { - h.d.Writer().WriteError(w, r, x.ErrInvalidCSRFToken.WithTrace(err).WithDebugf("%s", err)) + if isPublic { + return errors.WithStack(x.ErrInvalidCSRFToken.WithTrace(err).WithDebugf("%s", err)) + } return err } - if mustVerify && !nosurf.VerifyToken(h.csrf(r), ar.CSRFToken) { + if isPublic && !nosurf.VerifyToken(h.csrf(r), ar.CSRFToken) { return errors.WithStack(x.ErrInvalidCSRFToken) } + if ar.ExpiresAt.Before(time.Now()) { + return errors.WithStack(x.ErrGone. + WithReason("The registration request has expired. Redirect the user to the login endpoint to initialize a new session."). + WithDetail("redirect_to", urlx.AppendPaths(h.c.SelfPublicURL(), BrowserRegistrationPath).String())) + } + h.d.Writer().Write(w, r, ar) return nil } diff --git a/selfservice/flow/registration/handler_test.go b/selfservice/flow/registration/handler_test.go index bbbb2983995..b6b130236d9 100644 --- a/selfservice/flow/registration/handler_test.go +++ b/selfservice/flow/registration/handler_test.go @@ -1,11 +1,14 @@ package registration_test import ( + "context" "net/http" "net/http/cookiejar" "net/http/httptest" "testing" + "time" + "github.com/justinas/nosurf" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/tidwall/gjson" @@ -85,6 +88,21 @@ func TestRegistrationHandler(t *testing.T) { assert.Contains(t, gjson.GetBytes(body, "methods.password.config.action").String(), public.URL, "%s", body) } + assertExpiredPayload := func(t *testing.T, res *http.Response, body []byte) { + assert.EqualValues(t, http.StatusGone, res.StatusCode) + assert.Equal(t, public.URL+registration.BrowserRegistrationPath, gjson.GetBytes(body, "error.details.redirect_to").String(), "%s", body) + } + + newExpiredRequest := func() *registration.Request { + return ®istration.Request{ + ID: x.NewUUID(), + ExpiresAt: time.Now().Add(-time.Minute), + IssuedAt: time.Now().Add(-time.Minute * 2), + RequestURL: public.URL + registration.BrowserRegistrationPath, + CSRFToken: x.FakeCSRFToken, + } + } + errTS := errorx.NewErrorTestServer(t, reg) defer errTS.Close() @@ -95,9 +113,18 @@ func TestRegistrationHandler(t *testing.T) { t.Run("daemon=admin", func(t *testing.T) { regTS := newRegistrationTS(t, admin.URL, nil) defer regTS.Close() - viper.Set(configuration.ViperKeyURLsRegistration, regTS.URL) - assertRequestPayload(t, x.EasyGetBody(t, public.Client(), public.URL+registration.BrowserRegistrationPath)) + + t.Run("case=valid", func(t *testing.T) { + assertRequestPayload(t, x.EasyGetBody(t, public.Client(), public.URL+registration.BrowserRegistrationPath)) + }) + + t.Run("case=expired", func(t *testing.T) { + rr := newExpiredRequest() + require.NoError(t, reg.RegistrationRequestPersister().CreateRegistrationRequest(context.Background(), rr)) + res, body := x.EasyGet(t, admin.Client(), admin.URL+registration.BrowserRegistrationRequestsPath+"?request="+rr.ID.String()) + assertExpiredPayload(t, res, body) + }) }) t.Run("daemon=public", func(t *testing.T) { @@ -124,5 +151,24 @@ func TestRegistrationHandler(t *testing.T) { body := x.EasyGetBody(t, new(http.Client), public.URL+registration.BrowserRegistrationPath) assert.Contains(t, gjson.GetBytes(body, "error").String(), "csrf_token", "%s", body) }) + + t.Run("case=expired", func(t *testing.T) { + reg.SetCSRFTokenGenerator(x.FakeCSRFTokenGenerator) + t.Cleanup(func() { + reg.SetCSRFTokenGenerator(nosurf.Token) + }) + + j, err := cookiejar.New(nil) + require.NoError(t, err) + hc := &http.Client{Jar: j} + + regTS := newRegistrationTS(t, public.URL, hc) + defer regTS.Close() + + rr := newExpiredRequest() + require.NoError(t, reg.RegistrationRequestPersister().CreateRegistrationRequest(context.Background(), rr)) + res, body := x.EasyGet(t, admin.Client(), admin.URL+registration.BrowserRegistrationRequestsPath+"?request="+rr.ID.String()) + assertExpiredPayload(t, res, body) + }) }) } diff --git a/swagger_types_global.go b/swagger_types_global.go index abd36598648..c9b2b8c2c3f 100644 --- a/swagger_types_global.go +++ b/swagger_types_global.go @@ -23,7 +23,7 @@ type genericErrorPayload struct { Reason string `json:"reason,omitempty"` - Details []map[string]interface{} `json:"details,omitempty"` + Details map[string]interface{} `json:"details,omitempty"` Message string `json:"message"` diff --git a/x/nosurf.go b/x/nosurf.go index 263aef84475..297bfb5de57 100644 --- a/x/nosurf.go +++ b/x/nosurf.go @@ -12,6 +12,14 @@ import ( var ( ErrInvalidCSRFToken = herodot.ErrForbidden.WithReasonf("A request failed due to a missing or invalid csrf_token value.") + ErrGone = herodot.DefaultError{ + CodeField: http.StatusGone, + StatusField: http.StatusText(http.StatusGone), + ReasonField: "", + DebugField: "", + DetailsField: nil, + ErrorField: "The requested resource is no longer available because it has expired or is otherwise invalid.", + } ) type CSRFTokenGeneratorProvider interface {