Commit Graph

227 Commits

Author SHA1 Message Date
dovholuknf caee6124e2 add support for and identity-driven bindPoints in controller (#3315)
* add support for and identity-driven bindPoints in controller

* cannot use ListenOptions as it pulls the go sdk into xweb :(

* more generic log message

* add ziti cli login tests in prep for continuing adding identity support in controller

* updates to tests

* updates to tests

* rebase with main

* allow login testing to external overlay

* more changes to allow a zitified ziti cli. add a test for testing login and ensure it works over a zitified connection

* refactor bindPoints to a module

* rebase with main

* no functional changes, just major refactoring based on PR requests. encapsulated all tests state into loginTestState, moved overlay to testutil

* rework a couple of util funcs to be cleaner per PR feedback

* make the new func more useful

* run tests via github action

* update changelog and remove unnecssary serveTls for now

* update from xweb v2 to v3

* change where factory is added and fix compilation issue of a test

* linting changes, move ascode test to cli_tests and activate via cli_tests

* use proper go build

* forgot to set the bin location

* fix timeout on test

* different errors on linux, windows and on gh runners

* cleanup after self-pr review

* use longer name to prevent codespell issues...

* additional changelog and add addressable terminator support

* fix out of control concatenation in cache file. fix ipv6 checking

* updates based on newer sdk and edge api client

* ensure oidc sessions auth for both older and newer commands

* add better error when url is empty and update changelog

* codespell fixes

* remove extraneous file

* update to 1.3.0 to kick off CI

* PR related changes. add interface enforcer and refactor networkIdentity

* go tidied

* fix golangci-lint and ha quickstart test

* keep fixing golanglint-ci... lol

* golanglint i was sure i'd fixed

* fix login test

* should fix ziti ops verify traffic as well

* fix verify traffic when all login information is supplied as well

* make all the timeouts longer? seems to run fine locally but fail in actions
2025-11-14 11:07:52 -05:00
Andrew Martinez ce83c0fb7c fixes openziti/ziti#2324 add token based enrollment (#3342)
* fixes openziti/ziti#2324 add token based enrollment

- allows enrollment to certificate auth
- allows enrollment to ext jwt token auth
- alters ext jwt claimsProperty (maps identity id) to support JSON
  pointers, defaults to `/sub`
- adds ext jwt enrollToCert, enrollToToken to controller  valid
  enrollment end-authenticator state
- adds ext jwt enrollAuthPolicyId to map end identity auth policy to,
  defaults to `default`
- adds ext jwt enrollAttributeSelector, supports single field name or
  JSON pointer to point to a single string or array of string attributes
  to give the identity, defaults to no selector
- adds ext jwt enrollNameSelector, supports single field name or JSON
  pointer to a string field to use as the name, defaults to `/sub`
- add enrollment errors to determine if enrollment has occurred
- adds CLI support for ext jwt signer enroll flags
2025-11-05 15:43:49 -05:00
Paul Lorenz af09450961 Fix golangci-lint errors 2025-10-17 12:54:25 -04:00
Andrew Martinez bb5cc51a97 adds posture cache, instance, instance data, and event hooks (#3267)
* adds posture cache, instance, instance data, and event hooks

- reworks router security
- abstracts api session and service sessions
- use connection tracker instead of various maps
- doc
- adds service sessions as always JWTs
- addes token logging fields
- removes multiple connection tracking fields
- adds support for router specific posture data/respones
- adds support for router posture check evaluation
- defer dial/bind posture checking for legacy to controller
- fix double session event emitting
- fix session event missing id
2025-10-15 14:01:56 -04:00
Andrew Martinez f116212ed4 fix #3231 use root controller server certs for OIDC signing (#3236)
* fix #3231 use root controller server certs for OIDC signing

- addresses HA vs non-HA signing
- fixes issue where APIs server w/ difference certs than the root
  identity
- adds documentation for env/appenv
- adds a new composite type for TLSCert JWT signers

* address possible nil reference

* remove ineff assignment on jwt signing method
2025-08-26 09:29:50 -04:00
Paul Lorenz f7caf82276 Update for deprecation of HA flag in Go SDK 2025-08-18 19:28:28 -04:00
Andrew Martinez 87c9ce3718 fix #3178 apis missing from controllers (#3180)
* fix #3178 apis missing from controllers, fixes #3193 adds totp auth query enrollment flag

- fixed controller store to no longer blank apis on all CUD actions
- controllers now report their current config state on leader change to
  avoid stale information
- fixes peer disconnect to only set online state
- adds enrollment state flags to auth queries
- adds test for OIDC MFA enrollment/recovery/delete
- adds controller store unit tests
2025-08-05 09:15:27 -04:00
Andrew Martinez 0506ef251b fix.3048.auth.events.impropert.chain.flag (#3050)
fixes #3084 adds events and improper chain flag

- splits cert resolution into root, legacy root + intermediate,
  and third-party pool. Allowing the detection of client authentication
  with incomplete chains if root + intermediate succeeds after root only fails
- adds `improperClientCertChain` to API Sessions and Current API Session.
  Added for OIDC and legacy auth. Set to true when a client certificate is used
  that was issued by the network and did not pass the root-only pool.
2025-05-21 11:49:39 -04:00
Andrew Martinez 0ca892060f fix #2996 add ability to flag cert authenticators for extension/key roll (#3025)
* fix #2996 add ability to flag cert authenticators for extension/key roll
2025-05-01 17:41:00 -04:00
Andrew Martinez d410b74e66 fixes #2997 adds authenticator ids for OIDC jwts (#2998)
- updates current-api session logic to use new value
- sets z_authid in access/refresh tokens
- updates tests to ensure authenticator id is set on access/refres
2025-04-14 13:13:14 -04:00
Paul Lorenz e647d67325 Update to channel/v4 2025-04-02 15:28:59 -04:00
Paul Lorenz 5a55aba493 Controller not removed from DB controller store when removed from controller. Fixes #2906 2025-03-29 00:19:52 -04:00
Andrew Martinez 56daae2025 fixes #2796 generated clients for enrollment do not work (#2883)
* fixes #2796 generated clients for enrollment do not work

- default behavior complies with OpenAPI spec, but allows for legacy PEM
  handling through middleware intervention
- adds test for generic enrollment endpoint and for specific enrollment
  endpoints
2025-03-17 10:05:15 -04:00
Paul Lorenz 437634972b Merge pull request #2892 from openziti/fix-restore-panic
Fix restore if db is restored in multiple locations. Fixes #2891
2025-03-14 14:58:02 -04:00
Paul Lorenz bcd62369c6 Fix online/offline status for ER/T identities. Fixes #2889 2025-03-14 13:38:17 -04:00
Paul Lorenz ed6194b333 Fix restore if db is restored in multiple locations. Fixes #2891 2025-03-14 13:00:46 -04:00
Paul Lorenz 50a4cca051 Fix controller online status. Fixes #2854 2025-03-10 09:49:30 -04:00
Paul Lorenz 03870760c3 Ensure restores and migrations work properly with RDM. Add restore from db for HA Clusters. Fixes #2549. Fixes #2649. Fixes #2707 2025-01-31 13:57:43 -05:00
Andrew d761a18881 Merge pull request #2645 from openziti/fix.2644.mismapped.id.ext.jwt
fixes #2644 fixes log output for secondary jwt on mismatched identity
2025-01-21 13:48:40 -05:00
Andrew Martinez 4af95eea6c fixes #2644 fixes log output for secondary jwt on mismatched identity
enhances logging and checks for scenarios where the wrong identity was
configued with the matching external id
2025-01-13 14:44:23 -05:00
Paul Lorenz b1e5a3e811 Remove path from connect events dst addr. Fixes #2624 2025-01-09 16:45:08 -05:00
Paul Lorenz 6517a7c22f Move routers to a subscription model where they subcribe to model data from one controller for a limited time. Fixes #2599 2025-01-07 19:21:53 -05:00
Paul Lorenz 29a199ce12 Add router data model chaos test. Fixes #2550 2025-01-07 19:21:53 -05:00
Paul Lorenz 32eddd61ca HA SDK terminators test. Fixes #2217. Fixes #2533 2024-11-12 18:45:08 -05:00
Paul Lorenz 6e1983991d Fixes from testing 2024-11-01 15:21:01 -04:00
Paul Lorenz 16f0a858e6 Add controller connect events. Fixes #1835. Fixes #2234 2024-11-01 15:21:01 -04:00
Andrew Martinez c79f404eca search for SANs in the cert closest to the http listener 2024-10-17 09:05:05 -04:00
Andrew Martinez a3ef5be25a fixes #2474 adds generic network JWT for trust boot strapping 2024-10-09 13:06:36 -04:00
Andrew Martinez e1b7f1e974 add searching xweb configs 2024-10-04 21:31:52 -04:00
Andrew Martinez e961da9ebe fix lint error 2024-10-04 15:30:44 -04:00
Andrew Martinez 6c85940931 fixes #2468 locates the correct server certificate for enrollments
- determines certificate for signing based on all identity server certs
- does not cache as certificates may reload
2024-10-04 15:24:07 -04:00
Andrew Martinez c2a62c9a8e Merge branch 'main' into fix.2354.auth.query.support.oidc 2024-10-04 11:22:16 -04:00
Andrew Martinez d0e0c6008a use new edge-api constants 2024-10-04 11:14:39 -04:00
Paul Lorenz 694b9dc18d Add events for JWT session for create/refresh/exchange. Fixes #2119 2024-09-30 15:32:48 -04:00
Andrew Martinez f8346be9cd fixes #2354 adds oidc AuthhQuery support 2024-09-23 10:14:31 -04:00
Paul Lorenz cccf0c06af Update to channel/v3. Fixes #2390 2024-09-09 12:23:25 -04:00
Andrew Martinez 643cc2c855 add protections to app env when starting fabric only controllers 2024-09-04 09:31:13 -04:00
Andrew Martinez e6b4dc33f9 add migration for network certs 2024-08-30 15:31:33 -04:00
Andrew Martinez 0ef6f03570 updates authenticator/api session logic for isCertExtendable
- updates legacy and oidc authentication for isCertExtendable
- updates authenticators REST responses to include isIsssuedByNetwork
2024-08-29 10:13:47 -04:00
Andrew Martinez 15f5ecc75d update refresh token logic to set scopes/aud on refresh
- adds tests for scope and refresh
2024-08-07 17:33:12 -04:00
Andrew Martinez 3015e2ca3a switch from native to openziti as a client id 2024-08-07 09:29:42 -04:00
Paul Lorenz dfda33fb01 Merge pull request #2068 from openziti/enhance-rdm-with-configs
enhance rdm with configs
2024-07-18 17:49:49 -04:00
Paul Lorenz 77d27ca781 Enhance the router data model with config information, fixes #2010 Add subscription model to router data model, fixes #1990 2024-07-17 14:31:39 -04:00
Andrew Martinez 54c9f8211f fixed #2240 secondary ext-jwt processing would fail...
...if ext-jwt primary wasn't enabled.

- fixes extra JWT processing on authentication endpoints (that would
  never pass)
- updates error message for missing NamedIndexStore implementations
- fixes ext-jwt store error stating that a named index is not present
2024-07-16 13:51:40 -04:00
Paul Lorenz c3b43133d1 Merge fabric and controller model code. Fixes #2205 2024-07-09 16:11:01 -04:00
Andrew Martinez 6ecca65c85 fixes #2165 adds network id configuration/spiffe id look up
- adds support for trust domain lookup on x509 chain
- adds support for non-ha trustDomain configuration
- adds default generated trust domain for non-ha controllers
- non-HA controllers will generate a trust domain from the root CA if
  possible
- additionalTrustDomains has been added for transitioning between trust
  domains

update changelog.md
2024-07-03 10:23:50 -04:00
Andrew Martinez 10a79a0189 fixes #2087 sets provider to "URL" a generic type 2024-06-24 08:36:09 -04:00
Paul Lorenz 898e41ae2a Implement router data model changesets. Fixes #1966 2024-04-23 11:56:10 -04:00
Paul Lorenz ac7c4848c5 Don't use EdgeSessionRemoved tracking for HA sessions. Fixes #1936 2024-04-12 13:48:34 -04:00
Andrew Martinez 59894d61bc fixes #1931 random invalid kids
- caused by usage of mesh peers instead of controller list
- peers from the mesh can be unreliable depending on startup time and
  connection time
2024-04-11 11:32:24 -04:00