keria icon indicating copy to clipboard operation
keria copied to clipboard

Contact challenges missing from GET /contacts/{prefix}

Open lenkan opened this issue 1 year ago • 1 comments

Currently, you can get challenge information for a contact using the list contacts endpoint (GET /contacts). It is added here: https://github.com/WebOfTrust/keria/blob/f24cf4b01932916cc640ff6f20ffda6f641c1ad2/src/keria/app/aiding.py#L1143-L1167, yielding an array response with the following shape:

  id: string;
  alias: string;
  oobi: string;
  challenges: Challenge[];

On the endpoint for getting a contact by id, this information is missing: https://github.com/WebOfTrust/keria/blob/f24cf4b01932916cc640ff6f20ffda6f641c1ad2/src/keria/app/aiding.py#L1294-L1303 yielding a response with the following shape:

  id: string;
  alias: string;
  oobi: string;

Is it intentional? If yes, what is the preferred way to get the current challenge responses for a specific contact? If not, should we add this information to ContactResource as well?

Another option could be to remove the challenges from the ContactCollectionResource as well and add a new endpoint /contacts/{prefix}/challenges. Thoughts?

lenkan avatar Jan 22 '24 16:01 lenkan

I also noticed that in keria, we have four "methods" for challenges, but in keripy / kli we only have three.

  • generate => generate challenge words
  • verify => wait for signed challenge response
  • response => sign a challenge and send to the "verifier"
  • accept => mark the challenge as "verified"/"authenticated" (This is done by the verify step in keripy, where as in keria it is an additional request).

lenkan avatar Jan 25 '24 14:01 lenkan