Operator training

Replay, Nonce, and Revocation

Reject a replay, then show a revoked actor denied on the next request.

Explanation

What you are learning

Recommended first: Product training. You can still study this lesson.

Rain dispatches the fresh PERMIT once. The nonce is then consumed. Presenting it again is rejected, reason replay rejected, and nothing executes. The actor is then revoked. A new request from that actor is DENY, reason actor revoked. Revocation wins over the earlier permit. A consumed nonce does not get a second execution, and a revoked actor does not get a new one by asking again.

Worked example

Teaching workstation

These fields were returned by the teaching workstation for this lesson. They are not a production permit.

First dispatch consumes the nonce

Rain dispatches the fresh PERMIT

outcome
PERMIT
dispatch
true
executed
true
effect
lab.observe
actor id
operator
resource
scope-a
request id
replay-1
nonce
08240014b1eeda4abb8f7eb4705f59f5
record
teaching workstation
production record
none

Replay is rejected

Present the consumed nonce again

outcome
DENY
dispatch
false
executed
false
reason
replay_rejected
effect
lab.observe
actor id
operator
resource
scope-a
request id
replay-1

Revocation wins on the next request

Revoke the actor and handle a new request

outcome
DENY
dispatch
false
executed
false
reason
actor_revoked
effect
lab.observe
actor id
operator
resource
scope-a
request id
replay-2
Exercise

Try it before you check

Order the three rows: run, replay, revoke. Do not swap them.

Can a consumed permit replay?
Assessment

Explain the result

Can a revoked actor execute?

This lesson is not complete yet.

Materials

Use these with the lesson

A passed check is saved in this browser so you can resume. It is not a certificate, not an accreditation, and not authority to run an effect.