Skip to content
netlify oauth github client sending token in form as netlify service itself, implementation in python
Python Dockerfile
Branch: master
Clone or download
Pull request Compare This branch is 2 commits ahead of davidejones:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
Dockerfile
README.md
main.py
requirements.txt

README.md

Netlify-cms-oauth-provider-python

netlify-cms has its own github OAuth client. This is a python implementation based on the Node.js version.

Other implementations

1) Install

For mac and linux

git clone https://github.com/davidejones/netlify-cms-oauth-provider-python.git
cd netlify-cms-oauth-provider-python
python -m venv /path/to/new/virtual/environment
source /path/to/new/virtual/environment/bin/activate
pip install -r requirements.txt

For windows

git clone https://github.com/davidejones/netlify-cms-oauth-provider-python.git
cd netlify-cms-oauth-provider-python
python -m venv /path/to/new/virtual/environment
C:\path\to\new\virtual\environment\bin\activate.bat
pip install -r requirements.txt

For docker

git clone https://github.com/davidejones/netlify-cms-oauth-provider-python.git
cd netlify-cms-oauth-provider-python
docker build -t netlifycms-oauth .

Or just Run it with Docker

2) Config

Auth Provider Config

Configuration is done with environment variables, which can be supplied as command line arguments, added in your app hosting interface, or loaded from a .env file.

Example .env file:

OAUTH_CLIENT_ID=f432a9casdff1e4b79c57
OAUTH_CLIENT_SECRET=pampadympapampadympapampadympa
REDIRECT_URL=https://your.server.com/callback
GIT_HOSTNAME=https://github.website.com
SSL_ENABLED=1

Client ID & Client Secret: After registering your Oauth app, you will be able to get your client id and client secret on the next page.

Redirect URL (optional): Include this if you need your callback to be different from what is supplied in your Oauth app configuration.

Git Hostname (Optional): This is only necessary for use with Github Enterprise.

CMS Config

You also need to add base_url to the backend section of your netlify-cms's config file. base_url is the live URL of this repo with no trailing slashes.

backend:
  name: github
  repo: user/repo   # Path to your Github repository
  branch: master    # Branch to update
  base_url: https://your.server.com # Path to ext auth provider

3) Run it

With your virtual environment activated run the server as follows

python main.py

4) Run it with Docker

Run with .env file:

docker run -itd \
    -v /your/path/.env:/usr/src/app/.env \
    -p 7676:80 \
    winglim/netlifycms-oauth

Run with environment variables:

docker run -itd \
    -e OAUTH_CLIENT_ID=12345 OAUTH_CLIENT_SECRET=balabala \
    -p 7676:80 \
    winglim/netlifycms-oauth
You can’t perform that action at this time.