Replies: 2 comments 2 replies
-
@zepatrik could you take a look into this? Apparently it’s an issue because it’s already the third question around this :) |
Beta Was this translation helpful? Give feedback.
-
I think it would make sense to download all schemas on build and include them using
|
Beta Was this translation helpful? Give feedback.
-
The issue I'm seeing involves Kratos, running in a container, attempting to access schemas via the public URL.
Persister.injectTraitsSchemaURL()
concatenates the schema ID (Ex:default
) to the configured public self-service URL (specified in the configuration file). Then in error scenarios, such as attempting to change your password to an invalid value, the settings flow'serror.go
handler attempts to sort the traits for an improved UI experience. But that sorting also requires loading the schema, and it does so viaLoadURL()
, from withinGetKeysInOrder()
(inschema.go
). Since the Kratos process now attempts to access this public self service URL with the concatenated schema ID, it can run into problems if the container does not have the right CAs or DNS or network routes defined to access the public URL (for example when it's running behind a reverse proxy).Instead of the Kratos process itself trying to lookup schemas via the concatenated public URL, would it be better to have it load the URLs listed in the configuration, under the
identity
block?Beta Was this translation helpful? Give feedback.
All reactions