JOSM/Plugins/account manager

From OpenStreetMap Wiki
Jump to navigation Jump to search


account_manager is a JOSM plugin for saving and switching between multiple accounts on OpenStreetMap and other OSM-compatible platforms.

Each account profile contains a name, platform, API URL, authentication method, and credentials. Credentials are stored through JOSM's active credential manager.

Features

  • Save and manage multiple account profiles.
  • Switch the active account without restarting JOSM.
  • Use presets for OpenStreetMap, the OpenStreetMap development server, OpenGeofiction, and OpenHistoricalMap.
  • Connect to custom OSM-compatible API servers.
  • Use OAuth 2.0 or username/password authentication.
  • Open a browser and obtain an OAuth 2.0 token automatically.
  • Validate the API URL and credentials before saving or activating a profile.
  • Keep passwords and access tokens hidden from the profile list.
  • Store credentials through JOSM's active credential manager.
  • Synchronize OAuth tokens authorized through JOSM's native OSM Server preferences.

Installation

  1. Start JOSM.
  2. Open Edit → Preferences.
  3. Select the Plugins tab.
  4. Download or refresh the plugin list if necessary.
  5. Search for account_manager.
  6. Select the plugin and press OK.
  7. Restart JOSM if requested.

See also the JOSM plugin installation documentation.

Opening account_manager

  1. Open Edit → Preferences.
  2. Select OSM Server.
  3. Find the account_manager section.
  4. Press Manage accounts....
The account_manager section in JOSM's OSM Server preferences.


Managing account profiles

The account_manager window displays the following columns:

Column Description
Active Indicates the currently active profile.
Name The user-defined profile name.
Platform The selected OSM-compatible platform.
Authentication OAuth 2.0 or username/password.
API URL The API endpoint used by the profile.
Credentials Indicates whether credentials are stored.

Available actions:

  • Add — create a new account profile.
  • Edit — change the selected profile.
  • Delete — delete the selected profile and its stored credentials.
  • Activate — validate and activate the selected profile.
  • Close — close account_manager.

Double-clicking a profile also activates it.

The account_manager profile list.


Adding an account profile

Press Add and configure the following fields:

Field Description
Name A name used to identify the profile.
Platform A built-in platform or Custom.
API URL The OSM-compatible API endpoint.
Authentication OAuth 2.0 or username/password.
Username Required for username/password authentication.
Password or Token The credential used to access the server.

The following platform presets are available:

Platform API URL
OpenStreetMap https://api.openstreetmap.org/api
OpenStreetMap Dev https://master.apis.dev.openstreetmap.org/api
OpenGeofiction https://opengeofiction.net/api
OpenHistoricalMap https://www.openhistoricalmap.org/api
Custom A user-specified OSM-compatible API URL.

The plugin verifies the API URL and credentials by requesting the authenticated user details from the selected server. A profile is saved only after successful verification.

Adding an account profile.


OAuth 2.0 authentication

To authorize an account automatically:

  1. Select OAuth 2.0 as the authentication method.
  2. Press Authorize now (fully automatic).
  3. Complete authorization in the browser opened by JOSM.
  4. Return to JOSM after authorization succeeds.
  5. Save the profile.

The access token is obtained automatically and stored through JOSM's credential manager. A token can also be entered manually when necessary.

OAuth 2.0 authorization in the profile editor.


Username and password authentication

To use HTTP Basic Authentication:

  1. Select Username and password.
  2. Enter the username and password.
  3. Save the profile.
  4. Wait for the plugin to verify the credentials.

This method should only be used with servers that support username/password authentication.

Activating a profile

Select a profile and press Activate, or double-click it.

Before activation, account_manager verifies the credentials again. After successful activation, JOSM uses the profile's API URL, authentication method, and stored credentials. The change applies to subsequent downloads and uploads.

Important: Switching profiles does not move, convert, or modify any currently open data layers. Before uploading, make sure that the active account and server match the source of the data layer.

Editing and deleting profiles

Editing

Select a profile and press Edit. When editing an existing profile, leaving the password or token field empty keeps the currently stored credential.

Deleting

Select a profile and press Delete. After confirmation, account_manager deletes both the profile metadata and the corresponding credentials from the active JOSM credential manager.

Credential storage

Profile metadata and credentials are stored separately. account_manager stores non-secret information such as profile names, platforms, API URLs, and authentication methods in JOSM preferences. Passwords and OAuth tokens are passed to JOSM's active credential manager.

The actual protection provided to stored credentials depends on the credential manager configured in JOSM.

Troubleshooting

Authorization does not open in the browser

  • Verify that JOSM is allowed to open links in the system browser.
  • Check firewall or proxy settings.
  • Try entering an OAuth access token manually.

The server rejects the credentials

  • Verify that the selected API URL belongs to the intended platform.
  • Check that the token has not expired or been revoked.
  • For username/password authentication, confirm that the server supports this authentication method.

A custom server cannot be validated

The custom server must provide an OSM-compatible API and support the authenticated /0.6/user/details request.

The wrong account is used

Open Preferences → OSM Server → account_manager and check the active account label. Activate the intended profile again before downloading or uploading data.

See also