To setup WHMCS SSO, you need to generate some OpenID API credentials and normal API credentials on your WHMCS installation.

Generating OpenID credentials on WHMCS

Navigate to the OpenID Connect page on WHMCS, under Setup > OpenID Connect. You'll find a button to generate new API credentials for OpenID on that page - click that green button.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0199a776-47de-4241-baf3-8f7a35fccc25/Untitled.png

Next, you will need to add these two authorised redirect URL's for your game panel domain name. Obviously, changing the actual domain name to the domain your game panel is accessible on: https://your.panel.gg/account/sso <https://your.panel.gg/auth/login/sso>

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d74d8c82-8f02-4191-9fee-6db0fa6837d3/Untitled.png

Once you click save, it should send you to a page with the information we need to put into your game panel. We'll need these later.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fbd0e181-5499-4201-b2be-c173d0dffe39/Untitled.png

Generating API credentials on WHMCS

Navigate to the API credentials page on WHMCS, under Setup > Staff Management > Manage API Credentials

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/665b3fab-1a1b-4a1e-a78b-aa4d12dad59e/Untitled.png

First, we need to create an API role to setup the permissions

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c873ae38-a63b-411b-9253-316ecdf933a6/Untitled.png

You only need to assign the two following permissions to the API role:

Authentication > ValidateLogin

Client > GetClientDetails

These permissions are so users who login with SSO can use their WHMCS password on SFTP.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2e42be6b-3b96-46d4-bfad-3e776e5861fb/Untitled.png

Now we can generate the API credentials for WISP, with the new role we just made. Navigate back to the API Credentials tab & click Generate New API Credential

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d6af1c74-fdd5-4075-982d-6f3410d9ea4a/Untitled.png

Select your user from the dropdown, and select the API role we just made, then hit that juicy generate button

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a7764095-df4a-4610-8fbc-88307b27c414/Untitled.png

This step is pretty important, so read it carefully. WHMCS will show a popup that looks like this. It's very important you don't close this popup before copying the information into WISP, because you will not be able to see the secret again!

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2c40691e-1ad9-40c1-b0ac-cf8d2acdb22a/Untitled.png

Setting up SSO in your WISP panel

Navigate to Admin Panel → Administration → Settings → WHMCS SSO tab. Here you'll input all the information we just generated on WHMCS.

The API Credentials from that popup on the previous step go in the area with the red rectangle.

The OpenID information we generated earlier in the guide will go into the area with the blue rectangle.

Untitled

Your WHMCS URL should be set to the root directory for your WHMCS installation. For example, if your WHMCS was installed at wisp.gg/billing/ - that should be your WHMCS URL.

Finally, click the Enabled button in the top left and click save in the bottom right. To test if the integration is working, deploy a game server from WHMCS with an email that isn't already a registered user in your game panel.

<aside> ⚠️ The integration will only work with new users that our WHMCS module creates. Existing users on your game panel will need to manually link their game panel account to their billing account by going to My Account and clicking the Link Account button near the bottom.

</aside>

Troubleshooting