ory / network

Ory runs a global end-to-end security infrastructure for humans, robots, and servers. We build and use open source software.
Apache License 2.0
81 stars 6 forks source link

Ory Network Actions Not Being Configured Correctly From The UI When Using Method All #366

Open ltieman opened 10 months ago

ltieman commented 10 months ago

Preflight checklist

Ory Network Project

https://agitated-khayyam-rqo27d4a5x.projects.oryapis.com/

Describe the bug

We have configured the Actions at /developers/actions but are not seeing any traffic on our logs, nor any data in our database. We suspected that the problem could be an incorrect function, but even just reducing the function to default, and also tried sending with no authentication, though it would not actually post, we figured that it would attempt to hit our endpoint and we could debug from there. We have seen no traffic.

Reproducing the bug

We configured the following actions. Screenshot from 2024-01-04 11-44-13

Both of them are configured thusly: Screenshot from 2024-01-04 11-53-38 Screenshot from 2024-01-04 11-52-49

We then went to /ui/registration and completed a registration.

There was no activity on the logs.

Relevant log output

No response

Relevant configuration

No response

Version

ory network

On which operating system are you observing this issue?

Ory Network

In which environment are you deploying?

Ory Network

Additional Context

No response

ltieman commented 10 months ago

I have identified more information on the bug and a lot more certain that this is a real bug and not just user error.

I pulled the config from the ory cli using ory get identity-config, and when looking at the config, the webhook was set for webauthn and oidc but was not set for password. Adding the same information to the password section of the yaml allowed us to have the correct behavior. It seems that something about the way the WebConsole configures these does not match up with what the backend expects. Interestingly, after updating the identity config, it showed a separate action for each of these, when it did not show that prior to the update.

The simplest fix would be to remove the "All" button from the UI.


      after:
        code:
          hooks: []
        hooks:
        - config:
            auth:
              config:
                in: header
                name: [header here]
                value: ""
              type: api_key
            body: https://storage.googleapis.com/bac-gcs-production/e492efd84ed68d021be8954e99fa3a7a53f88add7bc6a2f0879c8480634b5f2ea66f1b3c38b357cf3afc4db6727e01ff1e4c8cbb7ac07a2c91f2bf495f93b0ad.jsonnet
            can_interrupt: false
            method: POST
            response:
              ignore: true
              parse: false
            url: [url here]
          hook: web_hook
        oidc:
          hooks:
          - config:
              auth:
                config:
                  in: header
                  name: [header here]
                  value: ""
                type: api_key
              body: https://storage.googleapis.com/bac-gcs-production/e492efd84ed68d021be8954e99fa3a7a53f88add7bc6a2f0879c8480634b5f2ea66f1b3c38b357cf3afc4db6727e01ff1e4c8cbb7ac07a2c91f2bf495f93b0ad.jsonnet
              can_interrupt: false
              method: POST
              response:
                ignore: true
                parse: false
              url: [url here]
            hook: web_hook
          - hook: session
        password:
          hooks:
          - hook: session
        webauthn:
          hooks:
          - config:
              auth:
                config:
                  in: header
                  name: [header here]
                  value: ""
                type: api_key
              body: https://storage.googleapis.com/bac-gcs-production/e492efd84ed68d021be8954e99fa3a7a53f88add7bc6a2f0879c8480634b5f2ea66f1b3c38b357cf3afc4db6727e01ff1e4c8cbb7ac07a2c91f2bf495f93b0ad.jsonnet
              can_interrupt: false
              method: POST
              response:
                ignore: true
                parse: false
              url: [url here]
            hook: web_hook
          - hook: session
      before:
        hooks: []
      login_hints: true
      ui_url: /ui/registration```