Developer training

Binding the Request, the Effect, and the Resource

Change the resource and show that the permit does not follow it.

Explanation

What you are learning

Recommended first: HIOP Fundamentals. You can still study this lesson.

A PERMIT is bound to the actor, the request, the effect, and the resource. In this run the permit is for lab.observe on scope-a. Before Rain runs, the resource is changed to scope-b and the same nonce is presented. The workstation rejects the binding. Dispatch stays false and executed stays false. Changing the target is a different request for authority, not a detail the old permit can absorb.

Worked example

Teaching workstation

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

PERMIT bound to scope-a

Handle lab.observe for scope-a

outcome
PERMIT
dispatch
false
executed
false
reason
fresh_permit_not_yet_dispatched
effect
lab.observe
actor id
operator
resource
scope-a
request id
bind-1
nonce
4c9c783a08981d04630696d95b8d2dcb

The resource is changed before Rain

Present the same nonce with resource scope-b

outcome
DENY
dispatch
false
executed
false
reason
binding_rejected
effect
lab.observe
actor id
operator
resource
scope-b
request id
bind-1
Exercise

Try it before you check

Say which field changed. Then say whether Rain ran.

Can a changed resource reuse the permit?
Assessment

Explain the result

What must match before Rain dispatches?

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.