- an authenticator removed or re-enrolled would continue to allow old
API Session to operate
- deleted or re-enrolled authenticators now remove associatd API
Sessions
- events during a multi-step transaction were immediately emitting events
causing out of order and incomplete events to be received,
specifically API Sessions w/o fingerprints
- API Session Certificates created implicitly during 3rd Party CA auth
did not properly set all properties
- adds tests
- 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
- emits events for processing progress/state for metric instrumentation
- emits events for eventual event backlog state for metrics
- alters Trigger() to return a channel that can be waited upon
- adds ability to add eventual events within a specific bbolt
transaction
- splits session lookup and delete into view/update transactions
- add eventual event gauge
- use CascadeCreateUpdate
- adds named functions
- documentation for 500us timeout
- grammar fixes
The previous implementation would send API Sessions to Edge Routers
while partially authenticated. Due to state issues addressed separately
in the c-SDK, these partial API Sessions are maintained if a channel
connected to an edge router was established during reconnect. This would
further cause problems with channel connection using the wrong API
session vs what the rest of the SDK was using.
- 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