Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mobile Backchannel support for other frameworks besides Aca-py #560

Open
2 of 6 tasks
nodlesh opened this issue Sep 1, 2022 · 7 comments
Open
2 of 6 tasks

Mobile Backchannel support for other frameworks besides Aca-py #560

nodlesh opened this issue Sep 1, 2022 · 7 comments

Comments

@nodlesh
Copy link
Contributor

nodlesh commented Sep 1, 2022

Mobile backchannel rework to integrate with other Aries frameworks. Right now the Mobile Backchannel is an ACA-Py Backchannel

The mobile backchannel is just a backchannel that captures test calls to the Holder and does mobile things like display a QR code and wait for scanning. In theory, this already allows for other frameworks to act as Issuer and Verifier. It has been tried and there are issues when doing this with other frameworks besides Aca-py. Investigation is required to nail down the exact issues with the other backchannels/frameworks when used in the context of the Mobile Tests. It may be that this ticket breaks out into specific issues for each framework backchannel to fix issues there.

Proposal:
Need to refactor the Mobile Backchannel to be a facade/interface over any existing backchannel.

Have a command line option that makes one of the used agents a mobile agent, which places the facade over that backchannel and does mobile "things", like wait for QR code scanning, etc.

Tasks:

  • Implement specific OOB tests that do Connection reuse and no reuse. Please add a specific test of OOB "connection reuse" #557
  • Enable OOB in the Mobile backchannel
  • OOB with attached Credentials? Is this implemented anywhere in any framework?
  • Run the Mobile backchannel with other frameworks that match the holder role for AIP 1.0 level protocols.
  • All tests with MobileTest needs the connection steps changed to match a more mobile friendly flow.
  • Document and break out the issues with each framework into their own GitHub issues.
@nodlesh
Copy link
Contributor Author

nodlesh commented Oct 27, 2022

There might be an issue with Dotnet not getting the Credential.

AFJ can receive the credential but no presentation request.
Sends connections too fast(at the same time) so you don't get the verifier connection.

Maybe changing the flow of The connection steps in the feature file may get us close to having other frameworks working with the mobile backchannel.

PatStLouis added a commit to DTLab-LabCN/aries-agent-test-harness that referenced this issue Oct 27, 2022
…ction steps to improve mobile testing flow

Signed-off-by: Patrick St-Louis <patrick.st-louis@idlab.org>
@PatStLouis
Copy link
Contributor

I submitted PR #586 addressing the second task of this issue.

After changing the order of the connection, I was able to successfully complete a mobile test with a combination of acapy/javascript/mobile backchannels in different roles.

Dotnet is still giving me an issue I was however able to further investigate what was the issue and its related to the timeout after sending an invitation. It marks the step as failed 5 seconds after sending the invitation. By the time the QR code is displayed on the terminal it is already too late an instantly fails, preventing the rest of the scenario to complete.

To fix this the dotnet backchannel will need a longer timeout before marking the connection as failed.

Currently unable to build afgo backchannel.

@nodlesh
Copy link
Contributor Author

nodlesh commented Oct 27, 2022

Thanks Patrick, this is great news. Did you attempt to try those tests with reordered steps with non-mobile backchannels? If not, I'll see if I can try it with your changes later today.

@PatStLouis
Copy link
Contributor

PatStLouis commented Oct 28, 2022

I didn't test it with non-mobile backchannel myself. However the PR did test it as a check, here's the job details.

@PatStLouis
Copy link
Contributor

I identified 3 issues with other backchannels:

  • Dotnet: Invitation timeout is too low, by the time the QR code displays, the step is already failed.
  • AFGO: Cannot build backchannel.
  • Aries-VCX: Invalid invitation data (missing @type property (wallet just saves the qr code as a card) and wrong serviceEndpoint (local ip instead of public endpoint))

@2byrds
Copy link

2byrds commented Oct 28, 2022

Great work guys! I'll try to track along with your changes so that in the future I can contribute to the solution.

@swcurran
Copy link
Contributor

  • The .NET issue can presumably be fixed in AATH? @nodlesh is that something you can do?
  • I've raised an issue (that is not being addressed) on AFGo about the build problem. All of the AFGo tests are currently failing in the nightly run -- the build failure for afgo-interop with other Aries Frameworks and now all of the AF-Go to AF-Go tests.
  • It would be good for someone to raise an issue in Aries VCX about the issue.

PatStLouis added a commit to DTLab-LabCN/aries-agent-test-harness that referenced this issue Nov 22, 2022
…ction steps to improve mobile testing flow

Signed-off-by: Patrick St-Louis <patrick.st-louis@idlab.org>
ryjones pushed a commit that referenced this issue Nov 23, 2022
…e mobile testing flow

Signed-off-by: Patrick St-Louis <patrick.st-louis@idlab.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants