Ory Kratos + Self-Service UI Node

Unfortunately, still not working.

curl -v http://127.0.0.1:4434/self-service/errors?id=eb2561a1-3a58-4e9c-b5f7-370b30d54013
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 4434 (#0)
> GET /self-service/errors?id=eb2561a1-3a58-4e9c-b5f7-370b30d54013 HTTP/1.1
> Host: 127.0.0.1:4434
> User-Agent: curl/7.55.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Content-Type: application/json
< Date: Fri, 27 Mar 2020 07:12:44 GMT
< Content-Length: 86
<
{"error":{"code":404,"status":"Not Found","message":"Unable to locate the resource"}}
* Connection #0 to host 127.0.0.1 left intact

So now we get the real reason why the first curl to initiate the browser-based registration flow failed. Seems as if the resource /self-service/browser/flows/registration wasn’t found! I was expecting that URL to return HTTP 302 with a Location header pointing to the URL of the registration_ui config parameter, with a request-parameter added to the URI, but apparently Kratos doesn’t find the requested resource for some reason.

curl -v http://127.0.0.1:4434/self-service/errors?error=eb2561a1-3a58-4e9c-b5f7-370b30d54013

The docs are wrong there, it’s already fixed on master

Ahh, OK. Now I get the real error:

error="Get http://127.0.0.1/default-identity.schema.json

This schema doesn’t exist, so I have to fix that. Is there some kind of default schema available in the Kratos repo that I can use?

Lars

I found a very simple schema in the GitHub repo, which I put in the same config map as the rest of the configuration as

default-identity.schema.json: |
    {
      "$id": "https://example.com/registration.schema.json",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "title": "Person",
      "type": "object",
      "properties": {
        "bar": {
          "type": "string"
        },
        "email": {
          "type": "string",
          "ory.sh/kratos": {
            "credentials": {
              "password": {
                "identifier": true
              }
            }
          }
        }
      }
    }

Then I referred to this as

default_schema_url: file:///etc/config/default-identity.schema.json