Greenhouse Portal SSO

Greenhouse Portal SSO Install Statistics

0
100%
Today: 0 Yesterday: 0 All-time: 447 downloads
Greenhouse Portal SSO Icon

Try plugin: Greenhouse Portal SSO

We'll create fresh WordPress site with Greenhouse Portal SSO installed. You have 20 minutes to test the plugin after that site we'll be deleted.

Takes ~10 seconds to install.

About Greenhouse Portal SSO

A client plugin that provides SSO (Single-Sign-on) or opt-in authentication against Greenhouse Portal Auth0 implementation.

0


0


0


0


0

updated: 3 years ago
since: 3 years ago
author: shane.van.den.bogaard

Description

This plugin allows to authenticate users against GH Portal API with Authorization Flow.
Once installed, it can be configured to automatically authenticate users (SSO). After consent has been obtained, an existing user is automatically logged into WordPress, while
new users are created in WordPress database.

Plugin flow explained

When a user of your WordPress application visits one of your public pages, a check is done if a user session is currently set. When GH_Portal_SSO_Option_Settings::enforce_privacy is set to TRUE, the plugin will redirect the user from the public page to the Greenhouse Portal SSO page incase no active session was found. The default WordPress authorization check if performed when accessing any of the wp-admin pages. This also allows to user to sign-in using either the Greenhouse account of their existing WordPress acount.

The following applies to any non wp-admin page request incase no user session is found:

The user will be redirected from the current page to the Greenhouse Portal, which acts a proxy between Auth0’s management system and Greenhouse’s Microsoft Identity (OpenID Connect) accounts, to perform it’s authentication through SSO.

A success SSO using the Greenhouse Portal results in an active access token that’s short lived (8 hours). The access token can be used to retrieve data on behalf of the user to which he/she has given consent.

The request for a redirect to the Greenhouse Portal requires a redirect_uri as one of its query parameter. This is the URL to which the proxy should return the user’s access token. By default, the redirect URL is set to admin-ajax.php in conjuction with admin_url and uses WordPress’ AJAX API to further handle the redirect flow.

`

Temperary Redirect
Location:
https://authorize.my.greenhousegroup.com/authorize

redirect_uri=<redirect/callback URL>
`

The above URL will initiate a SSO request to Auth0. Once the user has signed in, the Greenhouse Portal will redirect the user to the given URL in the redirect_uri query parameter. The access token is passed through as a query parameter to the redirect url (e.g. ?GHP_authorization_token=xxxxxxxxxxxx).

On successfull redirect, the access token is fetched from the query parameters. An additional request is made to the Greenhouse API to fetch the Greenhouse user information from the retrieved access token.

`

POST / HTTP/1.1
Host:
https://api.my.greenhousegroup.com/user

Headers:
Authorization=
x-api-version=
`

The Greenhouse user information is used to find an existing WordPress user. When no WordPress user was found, a new one can be automatically created when GH_Portal_SSO_Option_Settings::create_if_does_not_exist is set to TRUE on successfull sign-in.

After finding/creating the WordPress user, a session of 8 hours is created, the duration can be set by GH_Portal_SSO_Option_Settings::expires_in using a numeric measured in seconds.

When no WordPress user account was found or can not be created, the user is redirected to the wp-admin sign-in page with the approriate error message (if any).