eventing icon indicating copy to clipboard operation
eventing copied to clipboard

RequestReply: Add CESQL function

Open Cali0707 opened this issue 1 year ago • 2 comments

Problem For the RequestReply resource, we need to create a CESQL function KN_VERIFY_CORRELATIONID(correlationid, secretName1, secretName2, ...) which verifies that the correlation id being used is valid. To do this, the correlation id is formatted as follows:

<original id>:<original id signed with a secret key>

The CESQL function should sign the original id and see if it matches the original id signed with a secret key referenced in the correlation id.

CESQL can be extended with new functions as follows: https://github.com/cloudevents/sdk-go/blob/24f83eb0a86d9cd7f4f28759f823fa77f58b0910/sql/v2/runtime/test/user_defined_functions_test.go#L33-L57

The function should:

  1. Get the secret
  2. Split the correlation id
  3. Sign the original id
  4. Return true iff the signed id matches the second half of the split correlation id

Persona: Which persona is this feature for?

Exit Criteria Unit tests of CESQL expressions that pass/fail

Time Estimate (optional): How many developer-days do you think this may take to resolve? 1-2

Additional context (optional) Add any other context about the feature request here.

  • https://github.com/knative/eventing/issues/7912

Cali0707 avatar Nov 10 '24 19:11 Cali0707

/assign

d3akhtar avatar Nov 10 '24 20:11 d3akhtar

/triage accepted

Cali0707 avatar Nov 21 '24 12:11 Cali0707