JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9283
  • Score
    100M100P100Q155351F
  • License MIT

Git Gateway backend for Decap CMS

Package Exports

  • decap-cms-backend-git-gateway
  • decap-cms-backend-git-gateway/dist/decap-cms-backend-git-gateway.js
  • decap-cms-backend-git-gateway/dist/esm/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (decap-cms-backend-git-gateway) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Git Gateway

Netlify's gateway to hosted git APIs.

Code structure

Implementation for File Management System API based on Api.

Api and Implementation from backend-github/gitlab/bitbacket extended with Netlify-specific LargeMedia(LFS) and JWT auth.

AuthenticationPage - uses lib-auth and implements Netlify Identity authentication flow.

PKCEAuthenticationPage = uses lib-auth and implements OAuth2 PKCE authentication flow. Enabled if the config.auth_type is set to pkce.

Look at tests or types for more info.

Debugging

When debugging the CMS with Git Gateway you must:

  1. Have a Netlify site with Git Gateway and Netlify Identity enabled. An easy way to create such a site is to use a template, for example the Gatsby template

  2. Tell the CMS the URL of your Netlify site using a local storage item. To do so:

    1. Open http://localhost:8080/ in the browser
    2. Write the below command and press enter: localStorage.setItem('netlifySiteURL', 'https://yourwebsiteurl.netlify.app/')
    3. To be sure, you can run this command as well: localStorage.getItem('netlifySiteURL')
    4. Refresh the page
    5. You should be able to log in via your Netlify Identity email/password

PKCE with custom Git-Gateway

To use a custom Git-Gateway implementation with PKCE authentication, use a configuration similar to the following:

backend:
    name: git-gateway
    # Enables PKCE authentication with the git-gateway backend. After auth,
    # sends the access_token for all requests to the git-gateway host.
    auth_type: pkce
    # The base OAuth2 URL. Here is an obfuscated AWS Cognito example.
    base_url: https://your-cognito-instance.auth.us-east-1.amazoncognito.com
    # If you need to customize the authorize or token endpoints for PKCE, do that here
    #auth_endpoint: oauth2/authorize
    #auth_token_endpoint: oauth2/token
    # The OAuth2 client ID
    app_id: your-oauth2-client-id
    # The base URL of your custom git-gateway. Note that the last part of the path
    # should be "bitbucket", "gitlab", or "github", so the implementation can automatically
    # determine which backend API to use when making requests.
    gateway_url: https://your.gitgateway.host/git-gateway/bitbucket/
    # Override the Netlify git-gateway status check
    status_endpoint: https://your.gitgateway.host/api/v2/components.json
    # Optional: defaults to "master"
    branch: main