Skip to main content

Datasette plugin that authenticates users against Openstreetmap

Project description

datasette-auth-osm

PyPI Tests License

Datasette plugin that authenticates users against OpenStreetMap

Installation

Install this plugin in the same environment as Datasette.

datasette install datasette-auth-osm

Demo

You can try this out at datasette-auth-osm.madflex.de - click on the top right menu icon and select "Sign in with OpenStreetMap".

Initial configuration

First, create a new application in Openstreetmap - OAuth2 Applications. You will need the client ID and client secret for that application.

Add http://127.0.0.1:8001/-/osm-callback to the list of Allowed Callback URLs.

Then configure these plugin secrets using metadata.yml:

plugins:
  datasette-auth-osm:
    client_id:
      "$env": OSM_CLIENT_ID
    client_secret:
      "$env": OSM_CLIENT_SECRET

In development, you can run Datasette and pass in environment variables like this:

OSM_CLIENT_ID="...client-id-goes-here..." \
OSM_CLIENT_SECRET="...secret-goes-here..." \
datasette -m metadata.yml

If you are deploying using datasette publish you can pass these using --plugin-secret. For example, to deploy using Cloud Run you might run the following:

datasette publish cloudrun mydatabase.db \
--install datasette-auth-osm \
--plugin-secret datasette-auth-osm client_id "your-client-id" \
--plugin-secret datasette-auth-osm client_secret "your-client-secret" \
--service datasette-auth-osm-demo

Once your Datasette instance is deployed, you will need to add its callback URL to the "Allowed Callback URLs" list your OAuth2 application in OpenStreetMap.

The callback URL should be something like:

https://url-to-your-datasette/-/osm-callback

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd datasette-auth-osm
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datasette-auth-osm-0.2.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datasette_auth_osm-0.2-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file datasette-auth-osm-0.2.tar.gz.

File metadata

  • Download URL: datasette-auth-osm-0.2.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for datasette-auth-osm-0.2.tar.gz
Algorithm Hash digest
SHA256 48c9cc33284f5b76d211345d61b67294f709f6507e0bb0be2f1be4e7c004991a
MD5 48a652b6a30d0dcc68fde7961555b7c5
BLAKE2b-256 c306c73c81ee583e2759dd63e89fc22554e72f201eecbed5da340e8e20bae2c8

See more details on using hashes here.

File details

Details for the file datasette_auth_osm-0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for datasette_auth_osm-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 01ff0055bfb584306e02ec03af0018bd7b90f966b9a86df7652b662167a3b1d9
MD5 9c059ac14b5d80a659cb7e5b6bcffba4
BLAKE2b-256 79d844ec0db9554f900d823d46fbf6f6c9f16b73509f866e706b457b56556d09

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page