MapComplete/app
2025-03-06 16:22:33 +01:00
..
.well-known Android: add passthrough pages 2024-12-31 16:31:01 +01:00
app.vite.config.js Android: docs, app landing page 2025-01-12 02:00:55 +01:00
app_index.ts UX: somewhat decent landing page for app.mapcomplete.org 2025-01-22 02:23:48 +01:00
AppIndex.svelte Chore: housekeeping 2025-02-10 02:04:58 +01:00
build_and_deploy.sh UX: somewhat decent landing page for app.mapcomplete.org 2025-01-22 02:23:48 +01:00
index.html UX: somewhat decent landing page for app.mapcomplete.org 2025-01-22 02:23:48 +01:00
land.html Android: Small fixes to landing page and passthrough 2025-01-21 21:06:50 +01:00
land.ts chore: automated housekeeping... 2025-03-06 16:22:33 +01:00
passthrough.html Android: Small fixes to landing page and passthrough 2025-01-21 21:06:50 +01:00
README.md Android: add passthrough pages 2024-12-31 16:31:01 +01:00

app-directory

This directory contains the files for "https://app.mapcomplete.org". This does not contain the Android files, but it contains some helper HTML.

The main function is to help authentication.

The authentication flow in a nutshell:

  1. The user want to authenticate
  2. The app opens a browser window, showing the OSM.org login page
  3. The browser redirects to "app.mapcomplete.org/land.html"; which obtains an authentication token
  4. Once the token is obtained, the browser redirects to "app.mapcomplete.org/passthrough.html?auth_token=<...>".
  5. This URL is an "authenticated URL" and will thus be opened in the app, where
  6. The native shell receives the intent with the authentication token
  7. The native shell passes this to the web context
  8. The webcontext passes the token to the OSM-connection
  9. ???
  10. Profit!

The hidden folder ".well-known" should be put on the website as well; https://app.mapcomplete.org/.well-known/assetlinks.json must return the relevant JSON

A note about building and deploying

These files should be relatively static and not change a lot. The deploy script is included in this directory (but not in CI)

These are deployed in the hetzner server in the /root/app/*-directory; see the hetzner caddyfile for more info