Docs/Users & sign-in/OpenID Connect sign-in
DartRelay 2.1 documentation
Users & sign-in

OpenID Connect sign-in

OpenID Connect sign-in adds a button such as Sign in with Okta or Sign in with Google to the portal. People sign in at the provider, with its own multi-factor checks, and DartRelay matches them to exactly one Active Directory account. This page explains how the matching works and how to set up a provider.

What it does New in 2.1

Microsoft Entra ID has its own pass kind, because Entra can name the exact on-premises account a person is synchronised from. Use Microsoft Entra ID sign-in for Microsoft accounts, and this page for everything else.

Before you begin

How a provider account is matched to a Windows account

This is the part to get right. On each pass you choose two things: which piece of information from the provider to use (the claim), and which Active Directory attribute it must equal.

Claim from the providerActive Directory attribute
email, preferred_username, upn, sub, or another claim you nameuserPrincipalName, mail, sAMAccountName, employeeID, or another attribute you name

DartRelay then applies these rules, and refuses the sign-in if any of them fails:

When the attribute is sAMAccountName, any DOMAIN\ in front of the value or @suffix after it is removed before matching.

Important

Whoever controls the claim at the provider controls which Windows account a person becomes. Match on a value that only your organisation can set, such as a verified company email, and keep Allowed domains as narrow as possible. Make sure users cannot edit the Active Directory attribute you match on.

Ready-made starting points

On Authentication → Relay Pass you can add an Okta pass, a Google pass, or an other OpenID Connect pass. Each starts with sensible values that you can change.

KindIssuerStarting matchNotes
Oktahttps://your-org.okta.com/oauth2/defaultpreferred_username → userPrincipalNameReplace your-org with your Okta organisation name.
Googlehttps://accounts.google.comemail → mailAllowed domains is required. With one domain listed, Google's account chooser is limited to that domain.
Other OpenID ConnectYour provider's issuer addressemail → userPrincipalNameAny provider that publishes standard OpenID Connect discovery information.

Set up a provider

  1. Add the pass. In the console, go to Authentication → Relay Pass and add an Okta, Google or other OpenID Connect pass. Its detail page opens.
  2. Copy the redirect address. The first card explains how to register DartRelay with the provider and shows the redirect address, ending in /portal/signin-oidc/ followed by the pass's short name (for example /portal/signin-oidc/google). Click Copy.
  3. Create the application at the provider. Create a web application that uses the authorisation code flow with a client secret, and add the redirect address you copied as an allowed sign-in redirect. For Google, this is an OAuth client of type Web application in Google Cloud, with the address under Authorised redirect URIs. Note the client ID and client secret the provider gives you.
  4. Fill in the Connect card. Enter a name, the issuer address, the client ID and the client secret. Leave the scopes as suggested unless your provider needs others. The issuer must be exactly the value the provider publishes.
  5. Fill in Match to a Windows account. Choose the claim and the Active Directory attribute, list your Allowed domains, and leave Refuse protected administrator accounts ticked.
  6. Fill in the Sign-in page card. Set the button text and make sure the button is enabled.
  7. Save, then click Test sign-in. It reads the provider's published information and signing keys from the issuer address. Fix any error before going on.
  8. Try it. In a private browser window, open the portal sign-in page, click the new button and sign in as a person whose Active Directory account holds the matching value.
FieldWhat it doesDefault
Name / short nameIdentify the pass. The short name forms the end of the redirect address.From the kind
IssuerThe provider's issuer address. DartRelay reads its discovery information from this address.From the kind
Client ID / client secretFrom the application you created at the provider. The secret is stored encrypted and never shown again.—
ScopesWhat DartRelay asks the provider for.Suggested by the kind
Claim / attributeWhat is matched to what. See How a provider account is matched.From the kind
Allowed domainsEmail domains that may sign in through this pass.Empty (required for Google)
Refuse protected administrator accountsRefuses accounts Active Directory marks as protected administrators.On
Button text / enabledThe words on the button, and whether it appears.—

Several passes of each kind are allowed. Their buttons appear in the order shown on Authentication → Relay Pass; use ▲ and ▼ to change it.

Example: Google Workspace for a school

A school uses Google Workspace on school.example, and every pupil and teacher also has an Active Directory account whose mail attribute holds their school address.

Which buttons appear on each address

Each address under Appearance → Tenancy & Branding can show every enabled pass, or only some of them, and can send people straight to one provider. Use Sign-in buttons on this address on the address's Access page; the settings are described on Microsoft Entra ID sign-in. A pass the address does not offer is refused there even from a bookmark. With "send people straight to" set, staff can still reach the password form by adding ?signin=1 to the sign-in address.

Launching resources

As with Microsoft sign-in, DartRelay never sees a password. Resources with Fixed Credentials work as usual. For Pass-Through resources the portal asks for the person's Windows password once per sign-in, unless certificate logon is switched on for the pass on its Windows logon card; then there is no prompt. See Relay Pass.

If something goes wrong

ProblemCause and fix
Test sign-in fails.The issuer address is wrong or unreachable from the DartRelay server. It must match the provider's published issuer exactly, including any path such as /oauth2/default.
The provider reports a redirect address mismatch.Register the exact redirect address shown on the pass, for the address people actually use.
Refused: no matching account.No enabled account in the domains offered on this address holds that value in the chosen attribute. Check the attribute in Active Directory and the claim the provider sends.
Refused: more than one account.Two accounts hold the same value. Make the value unique, or match on a different attribute.
Refused: domain not allowed.Add the person's email domain to Allowed domains, if they should be able to sign in.
An IT administrator is refused.Their account is a protected administrator account. This is deliberate; they can sign in with their password instead.
The button does not appear.The pass is disabled, Domain Users is off, the address does not offer the pass, or the theme's sign-in block hides provider buttons.

Every sign-in through a provider, successful or refused, is written to System → Audit Log with the reason.

Still stuck? Email support@dartinnovations.com with what you were doing, what you expected and what you saw. A screenshot helps.