decap-cms-backend-git-gateway

3.4.1 • Public • Published

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

/decap-cms-backend-git-gateway/

    Package Sidebar

    Install

    npm i decap-cms-backend-git-gateway

    Weekly Downloads

    12,273

    Version

    3.4.1

    License

    MIT

    Unpacked Size

    825 kB

    Total Files

    21

    Last publish

    Collaborators

    • demshy
    • poslovnimediji
    • martinjagodic
    • samofab