vc-authn-oidc icon indicating copy to clipboard operation
vc-authn-oidc copied to clipboard

vc-authn-oidc not working with ACA-Py 0.7.4-rc2 -- cannot create presentation request

Open swcurran opened this issue 3 years ago • 2 comments

Trying to go through the demo/README.md instructions for the latest versions of ACA-Py. Things worked up through 0.7.4-rc1, but I'm getting an error creating the presentation request in 0.7.4.-rc2. I think the issue is fixed on main, but just wanted to have someone check it to be sure. The error on the screen is:

{"error":"acapy_call_failed","error_description":"Failed to create presentation request: Create presentation request failed: Code: [InternalServerError], Reason: [500 Internal Server Error\n\nServer got itself in trouble]"}

The ACA-Py log has this error:

aca-py_1          | 2022-06-08 22:52:59,716 aries_cloudagent.admin.server ERROR Handler error with exception: local variable 'transport_id' referenced before assignment
aca-py_1          | 
aca-py_1          | =================
aca-py_1          | Traceback (most recent call last):
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 159, in ready_middleware
aca-py_1          |     return await handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 196, in debug_middleware
aca-py_1          |     return await handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aiohttp_apispec/middlewares.py", line 45, in validation_middleware
aca-py_1          |     return await handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 384, in setup_context
aca-py_1          |     return await task
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/protocols/present_proof/v1_0/routes.py", line 523, in presentation_exchange_create_request
aca-py_1          |     await outbound_handler(presentation_request_message, connection_id=None)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/messaging/responder.py", line 82, in send
aca-py_1          |     return await self.send_outbound(outbound)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 128, in send_outbound
aca-py_1          |     return await self._send(self._profile, message)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/core/conductor.py", line 586, in outbound_message_router
aca-py_1          |     profile=profile, outbound=outbound, inbound=inbound
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/core/conductor.py", line 613, in _outbound_message_router
aca-py_1          |     return await self.queue_outbound(profile, outbound, inbound)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/core/conductor.py", line 657, in queue_outbound
aca-py_1          |     return await self._queue_message(profile, outbound)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/core/conductor.py", line 664, in _queue_message
aca-py_1          |     await self.outbound_transport_manager.enqueue_message(profile, outbound)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/transport/outbound/manager.py", line 268, in enqueue_message
aca-py_1          |     if not transport_id:
aca-py_1          | UnboundLocalError: local variable 'transport_id' referenced before assignment
aca-py_1          | 2022-06-08 22:52:59,717 aiohttp.server ERROR Error handling request
aca-py_1          | Traceback (most recent call last):
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
aca-py_1          |     resp = await request_handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aiohttp/web_app.py", line 504, in _handle
aca-py_1          |     resp = await handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aiohttp/web_middlewares.py", line 117, in impl
aca-py_1          |     return await handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 159, in ready_middleware
aca-py_1          |     return await handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 196, in debug_middleware
aca-py_1          |     return await handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aiohttp_apispec/middlewares.py", line 45, in validation_middleware
aca-py_1          |     return await handler(request)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 384, in setup_context
aca-py_1          |     return await task
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/protocols/present_proof/v1_0/routes.py", line 523, in presentation_exchange_create_request
aca-py_1          |     await outbound_handler(presentation_request_message, connection_id=None)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/messaging/responder.py", line 82, in send
aca-py_1          |     return await self.send_outbound(outbound)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 128, in send_outbound
aca-py_1          |     return await self._send(self._profile, message)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/core/conductor.py", line 586, in outbound_message_router
aca-py_1          |     profile=profile, outbound=outbound, inbound=inbound
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/core/conductor.py", line 613, in _outbound_message_router
aca-py_1          |     return await self.queue_outbound(profile, outbound, inbound)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/core/conductor.py", line 657, in queue_outbound
aca-py_1          |     return await self._queue_message(profile, outbound)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/core/conductor.py", line 664, in _queue_message
aca-py_1          |     await self.outbound_transport_manager.enqueue_message(profile, outbound)
aca-py_1          |   File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/transport/outbound/manager.py", line 268, in enqueue_message
aca-py_1          |     if not transport_id:
aca-py_1          | UnboundLocalError: local variable 'transport_id' referenced before assignment
aca-py_1          | 2022-06-08 22:52:59,718 aiohttp.access INFO 192.168.0.7 [08/Jun/2022:22:52:59 +0000] "POST /present-proof/create-request HTTP/1.1" 500 244 "-" "-"

swcurran avatar Jun 08 '22 22:06 swcurran

@shaangill025 -- is this fixed in ACA-Py main? If not, could you please test this out? This is a high priority issue.

To test:

  • follow the instructions in demo/README.py to run the demo. You have to wait for a bit (or just try several times) the curl step and when going to the django web page. It should work.
  • Update the docker/docker-compose.yml file to use the 0.7.4-rc2 image for the aca-py instance. When you run it, you should get an error when you click the "Authenticate" button.

I suspect this is an error in ACA-Py, but if it is an incompatibility with the vc-authn-oidc controller, we need to know that and why.

Thanks!

swcurran avatar Jun 08 '22 23:06 swcurran

This is likely solved by ACA-Py issue #1776. Attempting to test this now...

swcurran avatar Jun 10 '22 23:06 swcurran

This is likely solved by ACA-Py issue #1776. Attempting to test this now... Closing issue as resolved, please re-open if necessary.

esune avatar Jan 18 '23 19:01 esune