To configure Single Sign-on on your Ghost site, you need to setup an SSO Adapter.

After configuring the Identity Provider and Application in GoPilot, it’s time to connect your Ghost site to GoPilot. For this use the Ghost SSO Adapter we provide on GitHub.

It’s always a good idea to backup your software before you start any update, so use any tools at your disposal to backup Ghost installation directory such as tar or zip, in case something goes wrong during the setup.

Download and install the latest GoPilot SSO client

Download the adapter from GitHub. You can either download directly from the server you host Ghost using wget or curl commands, or download using your browser to your personal computer and then transfer the zip file to the server

Download  from : https://github.com/gopilot-net/sso-client/releases/

Pick the latest release from this location.

Open a terminal (ssh or any other terminal you use) on the Ghost server. Then execute the commands below, replacing the {UPPERCASE WORDS} with your values:

cd {GHOST INSTALL LOCATION}/content

mkdir -p adapters; cd adapters

unzip {DOWNLOADED ZIP FILE NAME}

mv {EXTRACTED DIRECTORY} sso

For example if you installed ghost to /var/www/ghostsite and the SSO adapter version is 1.0.0, then the commands would be:

cd /tmp

wget https://github.com/gopilot-net/sso-client/archive/refs/tags/v1.0.0.zip

cd /var/www/ghostsite

mkdir -p adapters; cd adapters

unzip /tmp/v1.0.0.zip

mv sso-client-1.0.0 sso

So now you should have a {GHOST INSTALL LOCATION}/current/content/adapters/sso directory with contents of GoPilot SSO client.

Update config file

Under Ghost directory, find the Ghost configuration file being used (such as config.development.json, config.production.json)

Make a backup of the file using ‘cp’ command

cp config.production.json config.production.json.bak

Edit the config file and add the following statements just before the end of the file:

,
"adapters": {
 "sso": {
   "active": "gopilot-sso",
   "gopilot-sso": {
       "domain":"https://gopilot.net",
       "clientId":"****",
       "clientSecret":"****"
   }
}
}

Use the Client Id and Client Secret from GoPilot site under Applications that we noted before.

Install GoPilot SSO Adapter for Ghost Members Single Sign on

Ghost does not come wirth an SSO adapter for members, only for staff users. If you would like to use Single Sign on for only your staff, you can skip this section. But if you would like Single Sign on for your members (which you probably do), read on.

Installing GoPilot SSO adapter is an easy process, with just a single command to run. It modifies one of the files within the Ghost core(since Ghost does not come with members SSO adapter), so a GHost update may overwrite it. If your members SSO breaks after you update Ghost, simply run this one-command install again.

Open a terminal  (ssh, command prompt, Mac terminal.etc.). 'Change directory'  into your Ghost installation directory (such as /var/www/mysite)

cd /var/www/mysite

After this run this one command (you can copy paste from here):

node content/adapters/sso/install.js

That's it!

(At any point if you want to uninstall this adapter, run the uninstall command by node content/adapters/sso/uninstall.js)

Restart your Ghost site


It is important to restart your Ghost site for the changes to take effect. If you do not know what it’s called you can use ‘ls’ subcommand:
> ghost ls

┌───────────────────┬──────────────────────────┬─────────┬──────────────────────┬───────────────────────────┬──────┬─────────────────┐

│ Name              │ Location                 │ Version │ Status               │ URL                       │ Port │ Process Manager │

├───────────────────┼──────────────────────────┼─────────┼──────────────────────┼───────────────────────────┼──────┼─────────────────┤

ghost-site-name │ /var/www/ghost site  │4.3.3 │ running (production) │ https://myghostsite.com  │ 2368 │ local           │

└───────────────────┴──────────────────────────┴─────────┴──────────────────────┴───────────────────────────┴──────┴─────────────────┘

> ghost restart {GHOST-SITE-NAME}


After this Ghost Single Signon wirth GoPilot will be configured.

After this do not forget to provide a link/button to your users as explained here