Commit Graph

84 Commits

Author SHA1 Message Date
Andrew Martinez 59d4af4cca adds REST API for external jwt signers
- pulled from main body of work
- rebased to main
2022-03-07 09:24:27 -05:00
Cam Otts 4dcd0281ab added handling for allow traversal flag (#905)
* added handling for allow traversal flag

* Refactor allowTraversal to be flipped to noTraversal

* updated fabric deps
2022-03-02 14:12:49 -06:00
Andrew Martinez 3e5f08c99f adds cert authenticator extension endpoint
- adds endpoint POST /edge/management/v1/authenticator/{id}/extend
- adds endpoint POST /edge/management/v1/authenticator/{id}/extend-verify
- adds endpoint POST /edge/client/v1/authenticator/{id}/extend
- adds endpoint POST /edge/client/v1/authenticator/{id}/extend-verify
- add logic that allows a client endpoint to extend the valid period for
  their current certificate authenticator
- requires clients to use their existing client cetificate for extension
- requires clients to verify they have received the new public key
- allows clients to use a new private key if desired
- allows only 1st party certificate authenticators to extend
- adds authenticatorId to apiSession for persistence, model, api model
- add session cert to already authenticated session on extend
- removes empty test stub
2022-03-02 09:20:08 -05:00
Cam Otts 141ef27526 Router cost (#899)
* Added cost to routers and handled in edge

* moved transit router cost to base

* updated fabric dependency

* removed some import changes and made cost required on update

* small whitespace diff
2022-02-25 09:27:26 -06:00
Andrew Martinez 52b0c7acab alters posture query updateAt to also indicate query state changes
- formerly posture queries only had an updatedAt time copied from the
  source posture check which. For MFA posture checks this is only
  correct when not using promptOnWake/Unlock
- prompt timer reductions due to wake/unlock now update postureQuery
  updatedAt values
- subsequent reconfigurations to the posture check (i.e. patching a
  posture check) is also taken into account - latest time.Time wins
- test for MFA posture check no longer use gabs and instead use the
  relevant input/output rest_model.* structures
2022-02-09 16:30:54 -05:00
Andrew Martinez 6d48a962de adds criteria output to service request failures for MFA posture checks
- adds all criteria for mfa evaluation to failure for model/REST API
2022-02-04 15:23:39 -05:00
Andrew Martinez 74ddec69cc regenerate w/ go-swagger v0.28.0 2021-12-20 09:19:15 -05:00
Andrew Martinez dae084f61c alters router/controller enrollment extension logic
- routers propertly wait on certs that are about to expire
- routers no longer send multiple extension requests
- routers now request cert verification
- routers now verify new certs before saving
- controller now supports verification requests
2021-12-20 09:19:10 -05:00
Paul Lorenz 96cdde0227 Enrolment -> Enrollment in spec 2021-11-10 13:19:08 -05:00
Andrew Martinez 1f9ca6878a changes client cert validation
- adds test for client cert validation expectations
- adds certificat authenticator create
2021-11-05 10:10:17 -04:00
Andrew Martinez a1f7a48cdc adds identity cert extension endpoint to client/man API
- now supports POST /current-identity/authenticators/{id}/extend for
  cert authenticators
- adds test for cert extension endpoint
2021-10-21 15:12:30 -04:00
Andrew Martinez 7e2b97c425 fixes posture check timeouts, tests, service updates
- fixes timeout calculation bugs
- adds timeout calculation unit/api tests
- adds posture response service events
- fixes 0 to -1 values for timeout settings
- fixes abnormally high service updates
2021-08-30 09:05:46 -04:00
Paul Lorenz 23c98c2d5a Add more tracing and allow enabling debug for specific identities for path selection/establishment 2021-08-09 11:20:51 -04:00
Paul Lorenz f2670e66a0 Make policy semantic required for POST/PUT. Fix evaluation on policy PUT if semantic not provided 2021-07-30 09:44:21 -04:00
Andrew Martinez f28061de4f fixes missing 400s from list endpoints
- update some CA fields that were not marked required/nullable
- some list endpoints were missing 400 response definitions
- foundation dep update
2021-07-27 14:53:35 -04:00
Andrew Martinez cef4653c2f add missing 401s to list operations, missing required
- adds missing 401s to list operations that were missing them
- adds required status to identityNameFormat for CAs
2021-07-26 16:19:16 -04:00
Andrew Martinez 6a522893fc adds timeoutRemainingSeconds for posture queries 2021-07-21 14:20:26 -04:00
Andrew Martinez efcb90c033 add all sdk version info to posture data 2021-07-09 15:27:23 -04:00
Andrew Martinez 47499bc4f1 add mfa options
- allow timeouts for MFA posture checks
- allow wake/unlocked MFA options
- allow legacy toggle for SDKs that don't supply endpoint state
- supply timeouts on posture checks
- posture data now caches session state
2021-07-07 08:39:39 -04:00
Andrew Martinez 572e606a0b adds posture check patch tests 2021-06-14 11:12:32 -04:00
Andrew Martinez cc1574fdc9 update /version endpoint
- now reports all versions, api bindings, and api bind points from xweb
- now reports api base urls (http://<bindpoint>/<api path>
- now points 'edge' to 'edge-client' api binding
2021-05-07 10:46:24 -04:00
Andrew Martinez b562fb5c07 splits API specs into composible modules
- splits Open API 2.0 (swagger) into client/management APIs
- uses go-swaggers flatten capabilities
- uses newer version of go-swagger (v0.27.0)
- introduces /edge/client/v1, /edge/management/v1
- non-prefixed URLs default to /edge/client/v1
- splits some shared management/client API handlers
- renames some REST models to "client" instead of "limited"
- passes all apitests, fails dataflow upd test (main fails this as well)
- updates generate rest script for powershell
- todo: test generate rest script for bash
- todo: use xweb (different branch)
2021-05-04 11:30:32 -04:00
Andrew Martinez 54af8801e7 adds posture check type PROCESS_MULTI
- adds a new posture check for dealing with multiple processes
- supports anyOf and allOf semantics
- does not require new posture responses, current process responses
  suffice
- tests
2021-04-20 08:52:23 -04:00
Andrew Martinez 4a9b226f0e adds the ability for router to extend their enrollment
- routers can now opt to extend their enrollment at any time with a
  previous or new key
- adds tests for router enrollment
- adds tests for router enrollment extension
2021-04-14 09:21:59 -04:00
Andrew Martinez b278f611d0 add policyType to posture query sets
- also fixes policy ids being set as the same value due to pointer in
  for loop reference
2021-04-13 15:26:17 -04:00
Paul Lorenz b493cce490 Add app data to identity and edge router. Add isSystem to ERP 2021-04-06 10:07:57 -04:00
Paul Lorenz 8f6234842e Add per-service identity hosting precedence/costs 2021-04-06 09:51:22 -04:00
Andrew Martinez 993f51f7ab set mfa posture on enroll
- update api session session state on mfa enroll
- update posture data state on mfa enroll
- centralize setting mfa posture data
- pass isMfaRequired and isMfaComplete in apiSession/currentApiSession
2021-03-23 09:54:46 -04:00
Paul Lorenz 680852f80e Allow tunnel to run over xgress directly 2021-03-22 14:33:54 -04:00
Andrew Martinez 5449b655b8 moves posture-data/failed-service-requests
- GET /identities/{id}/posture-data/failed-service-requests is now under
  /identities/{id}/failed-service-requests
2021-03-19 10:30:26 -04:00
Andrew Martinez c54a007202 formalize posture data API output, add service request errors
- GET /identity/{id}/posture-data is now formalized in the swagger.yml
- posture data output now includes the last 100 failed service requests
  with temporal posture data state
- added ziti controller instance id header to detect restarts
- add GET /identity/{id}/failed-service-requests
2021-03-19 09:49:44 -04:00
Andrew Martinez 623681db87 add lastActivityAt
- as updates to API Sessions can now happen later than the last time
  they were active, updatedAt is no longer the correct representation of
  the last activity an API Session had
- move all logic that used updatedAt to lastActivityAt
- add migration to set lastActivityAt
2021-03-17 13:49:12 -04:00
Andrew Martinez 5eb8649186 move routePath to /sessions/id/route-path 2021-03-04 09:44:12 -05:00
Andrew Martinez 005234cb39 add route path to session 2021-03-01 18:02:25 -05:00
Andrew Martinez 75029f8600 centralize edge router properties, add supportedProtocols to edge
session

- centralized edge router properties so adding/altering affects all
  edge router output
- adds supportedProtocols to edge session create response
- mark urls on edge session create response as deprecated
2021-02-23 15:07:43 -05:00
Andrew Martinez d07618c9d5 modular edge router sync
- edge router sync is now modular and can have different strategies
- plans to make this configurabe in the future with multiple strat
- legacy strategy is called "instant" and is the only option
- instant strat now supports control signaling and resync requests
- edge routers now do not remove connections till after a full sync
- added the ability for the controller to report the er sync status
- added er syn status to GET /edge-routers list and detail
- improved log output in sync logic
2021-02-15 13:22:07 -05:00
Andrew Martinez 6a2c82deca add timeout posture query property, -1 == no timeout
Provides a location for future configurable timeouts and allows
SDKs to detect whether no timeout/timeouts are supported.
2021-02-10 17:13:23 -05:00
Andrew Martinez 2360d44b05 moves posture data to not time out 2021-02-10 16:51:40 -05:00
Andrew Martinez 46166db9cc fixes orphaned ottca enrollments
- deletes ottca enrollment when CA is deleted
- adds API tests
- adds migration to remove currently orphaned ottca enrollments
- migration tested on a v15 database with orphaned ottca enrollments
2021-02-09 13:55:03 -05:00
Andrew Martinez e34d25b0dd fixes #484 adds current identity edge router lookup 2021-02-03 15:37:15 -05:00
Andrew Martinez 252e105f3c add typeId to authQuery 2021-01-26 15:12:22 -05:00
Andrew Martinez 4051c47dd5 Merge branch 'main' into mfa 2021-01-26 13:52:59 -05:00
Andrew Martinez f2431ab9b3 bulk posture response 2021-01-25 13:55:41 -05:00
Andrew 8d4397c0d9 Merge pull request #474 from openziti/fix.misspelled.builddate
fixes buildDate spelling (missing d)
2021-01-20 10:44:57 -05:00
Paul Lorenz 744fa99b8a Add check integrity guardrails so we can only run a single operation at a time 2021-01-19 16:18:10 -05:00
Andrew Martinez 4fbacdcdc8 fixes buildDate spelling (missing d) 2021-01-19 14:00:50 -05:00
Andrew Martinez 308d7f3a10 mfa initial
- add mfa read endpoints
- add mfa enroll enpoints
- fix mfa library timing issues
- adds mfa at tests
- adds admin mfa management endpoints
- adds admin mfa at tests
- improve at tests
- fix auth check vs auth query
- fix swagger for auth queryies
- fix swagger doc
- adds more api tests for validation
- redo auth query structure
- redo mfa endpoints
- move mfa verify to authenticate router:wq
- add recovery code support and tests
- add partial session authentication status
2021-01-19 08:36:27 -05:00
Andrew Martinez 65be49c609 Add appId and appVersion to sdkInfo 2021-01-18 10:38:43 -05:00
Andrew Martinez 807a061a93 adds expiration-seconds and expires-at headers
- also adds expiresSeconds to current api session and login
2021-01-14 11:30:44 -05:00
Andrew Martinez cf66c361f9 adds service updates endpoint stub 2021-01-13 13:49:06 -05:00