Commit Graph

48 Commits

Author SHA1 Message Date
Andrew Martinez 7d017ba34a addresses #1064 name on edge router patch can not be nil 2022-06-22 12:14:29 -04:00
dovholuknf eab88a7f9d make externalId nullable, fix template, regen stubs, add readme 2022-06-17 12:24:14 -04:00
Andrew 556607ff98 Merge pull request #1051 from openziti/adds.identity.enrollment.rest
adds identity enrollments endpoint
2022-06-08 14:04:52 -04:00
Andrew Martinez 39460988df adds identity enrollments endpoint
- removes unused details field
- adds tests, adds validation formats
2022-06-08 13:53:23 -04:00
dovholuknf e9154e04f8 fix signle typo for real 2022-06-08 12:46:08 -04:00
Andrew Martinez 9ae2eb825c adds jwks support
- ext-jwt-signers now support jwks endpoints in addition to static
  certificates
- ext-jwt-signers now require either kid+cert or jkwsEndpoint
- ext-jwt-signers now requires issuer and audience fields
- jwksEndpoints are initially cached and will be revalidated on invalid
  auth once every 5s at most
- adds more external id tests
2022-06-07 09:57:22 -04:00
Andrew Martinez a52de50477 adds 409 response to POST /enrollments 2022-05-23 17:29:48 -04:00
Andrew Martinez c5f156dd9e adds x509 claims support for external ids to CAs
- adds REST API CA external id field
- adds rest api for external fields
- refactors authentication interfaces for federation
- alters authentication moduels to return AuthResult interfaces
- allows AuthResults to provide external x509 certs as session certs
2022-05-23 13:08:16 -04:00
Andrew Martinez 72729fd731 adds the ability to create identity enrollments 2022-05-12 12:40:49 -04:00
Andrew Martinez fb1bff0083 adds re-enrollment for existing authenticators
- REST API Endpoints in Management API
- adds JWT to Management API enrollments endpoint
2022-04-21 15:01:28 -04:00
Andrew Martinez 642dec4c25 adds refresh expired enrollment logic and tests 2022-04-20 16:13:41 -04:00
Andrew Martinez 59de4af681 adds ids to identity authenticator detail 2022-04-13 14:20:10 -04:00
Andrew Martinez d80fafef96 fixes #968 management api doc not available
Root cause is a bug and/or lack of features in the go-open-api runtime.
2022-04-13 13:39:38 -04:00
Andrew Martinez ec51635f26 adds optional issuer and audience properties to ext jwt signers 2022-04-06 15:48:17 -04:00
Andrew Martinez 8c6c437341 fix optional field made required on create 2022-03-30 15:28:43 -04:00
Andrew Martinez e602a9da61 fixed missing property on detail for auth policies 2022-03-30 14:52:10 -04:00
Andrew Martinez ba84d2fae9 adds settable kid to ext jwt signers, fixes default auth policy 2022-03-30 13:51:23 -04:00
Andrew Martinez 708dcfe0c9 adds auth policy / disabled identity auth logic 2022-03-29 14:26:04 -04:00
Andrew Martinez a34ae130b8 adds externalId, plumbs auth url, use external id
- adding tests and boundaries to values
- updating foundation
- squash, rebase
2022-03-28 10:54:27 -04:00
Andrew Martinez 99e3b283b6 adds auth policy CRUD, does not affect authentication 2022-03-25 14:40:07 -04:00
Andrew Martinez 3380807334 adds ext-jwt authenticator
- enables /authenticate?method=ext-jwt
- adds ext-jwt to OpenAPI schema
- rebase to main, squash
2022-03-08 10:01:38 -05:00
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 7f71c75706 Merge pull request #851 from openziti/add.router.re-enroll.rest.api
adds re-enroll REST API endpoints for edge routers
2021-12-20 09:32:38 -05:00
Andrew Martinez 37f5f88944 remove unused REST API 2021-12-20 09:19:14 -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
Andrew Martinez e507d4b5ae edge/#852 adds re-enroll REST API endpoints for edge routers 2021-12-16 09:54:47 -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 c2b83432d1 adds /identity/:id/authenticators Management API endpoint 2021-09-08 14:06:56 -04:00
Andrew Martinez 4cac5518e9 ensure that lastAccessedAt is set on create, emit logs if not found 2021-09-02 08:57:14 -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 396536c312 add list parameters to authenticators 2021-06-23 11:07:05 -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