Skip to content

Localised Arches (with e.g. /en) following the URL is not handled or redirected - results in failed auth #12501

@samuelscandrett

Description

@samuelscandrett

If Arches is localised (with >1 language and thus uses the /language pattern in urls), the API calls fail because they lack the language.

[01/May/2025 10:21:01] "POST /auth/get_client_id HTTP/1.1" 302 0
Method Not Allowed (GET): /en/auth/get_client_id
Method Not Allowed: /en/auth/get_client_id
[01/May/2025 10:21:03] "GET /en/auth/get_client_id HTTP/1.1" 405 0

Originally discovered in the Arches QGIS plugin here: archesproject/arches-qgis#32.
Solution there requires the language code if Arches is localised, otherwise auth will fail. Non-localised Instances don't require it.

The best solution would be to redirect http://localhost:8000 requests to http://localhost:8000/en (or the respective locale). I'm unsure if this is possible, as locale redirects are done on the django level which the API can't see or benefit from.

Alternatively, we could create a localisation endpoint, but this would need to be accessible without the language code (/en) otherwise the problem would persist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions