Skip to main content

XenForo

Connect XenForo to RemyPass so members can choose a RemyPass sign-in option on the forum. RemyPass authenticates the member and returns their identity; XenForo links that identity to a forum account and manages the forum session.

This guide covers the RemyPass configuration and the contract the forum's connected-account provider must implement. It does not install a XenForo add-on or modify forum accounts. A compatible provider or custom add-on is required; confirm compatibility with your XenForo version before cutover.

Before you start​

Have the following available:

  • The XenForo version and the add-on or custom code that will handle the RemyPass connection
  • The exact HTTPS callback URL generated or handled by that provider
  • Access to RemyPass integration settings, with the member portal enabled
  • A test member and a test forum account
  • A decision on whether forum access requires a current membership

The provider must support the authorisation code flow, mandatory PKCE S256, a confidential client secret and a JSON profile endpoint. An OpenID Connect-only provider will not work with these endpoints. Compatibility with the built-in XenForo-to-XenForo provider is not assumed.

1. Register the forum in RemyPass​

Open Integrations → Member single sign-on → Add connection. Name the connection, enter the forum provider's callback URL, choose the active-membership requirement, and save the client ID and one-time secret.

See Create and manage a connection for callback rules and credential lifecycle.

The callback is a URL on the forum, not the RemyPass member portal. Its path depends on your provider. Do not copy a callback from another provider without checking the handler.

2. Configure the XenForo provider​

Use the endpoint URLs shown in the RemyPass connection settings. Default production values are:

Provider settingValue
Client IDThe ID generated by RemyPass
Client secretThe secret generated by RemyPass, stored server-side
Authorisation URLhttps://api.remypass.com/api/v1/oauth/authorize
Token URLhttps://api.remypass.com/api/v1/oauth/token
User-info URLhttps://api.remypass.com/api/v1/oauth/userinfo
Revocation URLhttps://api.remypass.com/api/v1/oauth/revoke
Response typecode
Grant typeauthorization_code
PKCEEnabled, S256
Client authenticationHTTP Basic, or form-body credentials
Scopesprofile email membership
User-info methodGET with Authorization: Bearer <access_token>
Response formatDirect JSON, no data wrapper

The provider must generate and validate state, retain the PKCE verifier in the initiating forum session, and send that verifier with the code exchange. Follow the OAuth flow guide for the complete request sequence.

3. Map member fields​

RemyPass fieldForum use
subPermanent external identity linked to the XenForo user; id is an alias
company_idConfirm that the identity belongs to the expected organisation
nameDisplay-name suggestion; retain the existing forum username when linking
emailContact information; not a permanent identity key
member_idOptional display member number
membership_activeWhether a current effective active membership exists
membership_type_idsOptional input to forum-specific access or group rules

There is no email_verified claim. Do not silently link an existing forum account solely because its email matches. Use an authenticated linking flow or a reviewed migration mapping. See Link existing forum accounts.

Group changes are implemented by the forum provider. RemyPass does not automatically change XenForo user groups, staff roles or permissions.

Preserve existing XenForo user IDs when linking RemyPass identities. Usernames, posts, private conversations and history remain attached to those forum accounts.

Choose one of these approaches:

  • Member-confirmed linking: require the member to sign in to their existing forum account, then explicitly connect RemyPass
  • Reviewed account mapping: have the forum team import approved links between XenForo user IDs and RemyPass sub values, scoped to the expected organisation

Resolve ambiguous matches, duplicate records and shared email addresses before importing links. Email and member_id can change and must not become the permanent external identity key. Provide administrator-assisted recovery for members who cannot access their existing forum account.

Members sign in to RemyPass using their portal password or an emailed sign-in link. Existing XenForo local credentials remain under the forum team's control; enabling OAuth does not remove them.

Back up the forum and identity mappings before enabling the connection. Test that linked members return to the same forum accounts and retain their history. Rotating a RemyPass secret invalidates OAuth grants but does not undo forum account links.

4. Test the connection​

Once the provider is installed and configured, XenForo's documented test flow is Setup → Connected accounts → Test provider → Test. Confirm the returned member details. See the official XenForo connected accounts guide.

Then test the actual member-facing flow:

ScenarioExpected result
Member with current membershipReturns to the intended forum account
Member using an emailed sign-in linkReturns through approval to the same callback
Existing RemyPass portal sessionApproval appears without another password entry
Member declines approvalCallback receives access_denied; forum remains logged out
Inactive member accountAccess denied
No qualifying membership, requirement enabledAccess denied
No qualifying membership, requirement disabledActive member account can authorise
Expired or reused codeExchange rejected; offer a new login attempt
Changed callback URL or incorrect verifierExchange or authorisation rejected
Disabled connection or rotated secretOld credentials/grants stop working

5. Define the forum session policy​

Decide how XenForo should behave when membership ends after the user has logged in. The RemyPass profile endpoint checks eligibility while the ten-minute token remains valid. After that, the provider must start a new authorisation flow to obtain another token.

OAuth login alone does not continuously enforce membership status on an existing XenForo session, and RemyPass does not send a cross-site logout event. The forum team must implement the recheck and session-expiry behaviour required by the organisation.

Troubleshooting​

SymptomCheck
Callback rejectedExact scheme, host, path, trailing slash and query string match the registered URL
invalid_clientCorrect connection credentials, enabled state and only one client-authentication method
invalid_grantOriginal verifier and callback, code age, whether the code was already exchanged
invalid_scopeRemove openid, offline_access and other unsupported scopes
User information cannot be parsedRead direct JSON and use sub or id; there is no nested data object
A duplicate forum account appearsReview the external-identity mapping and registration/linking rules
Expired member remains logged into XenForoReview forum session policy; a previous OAuth success does not force logout

For full error behaviour, see OAuth endpoints, scopes and errors.