Authenticate users with WildApricot OAuth server

Description

I’ve been trying, unsuccessfully so far, to set up a OAuth service as an alternative to creating and authenticating users directly in Rocket.Chat. Our organization uses WildApricot (WA for short) as a membership management service, and we are setting up Rocket.Chat as our main chat/communications portal for our members. I would like members to be able to log-in to Rocket.Chat using the WA username/password, so that each time a new user is created in WA, they can start using Rocket.Chat without having to create a separate user/password in the chat server. WA has an API that allows external apps to use it as an OAuth server. However, the parameters in Rocket.Chat seem to be much more involved than those available in WA. Does anyone have any experience with WA, and if so, can you help resolve the configuration?

Server Setup Information

  • Version of Rocket.Chat Server: 2.4.14
  • Operating System: Linux 4.15.0-132-generic
  • Deployment Method: snap
  • Number of Running Instances: 1
  • DB Replicaset Oplog: enabled
  • NodeJS Version: v8.17.0
  • MongoDB Version: 3.6.14
  • Proxy: nginx i believe
  • Firewalls involved:

Any additional Information

W20210126-20:33:37.197(0) (oauth_server.js:392) Error in OAuth Server: Failed to complete OAuth handshake with asomove at https://www.asomove.org/sys/login/OAuthLogin. failed [404]
I20210126-20:33:37.599(0) Exception while invoking method ‘login’ { Error: Failed to complete OAuth handshake with asomove at https://www.asomove.org/sys/login/OAuthLogin. failed [404] at CustomOAuth.getAccessToken (app/custom-oauth/server/custom_oauth_server.js:132:18) at Object.OAuth.registerService.query [as handleOauthRequest] (app/custom-oauth/server/custom_oauth_server.js:189:26) at OAuth._requestHandlers.(anonymous function) (packages/oauth2/oauth2_server.js:10:33) at middleware (packages/oauth/oauth_server.js:161:5) at /snap/rocketchat-server/1453/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40 message: ‘Failed to complete OAuth handshake with asomove at https://www.asomove.org/sys/login/OAuthLogin. failed [404]’, response: { statusCode: 404, content: ‘’, headers: { ‘cache-control’: ‘private’, p3p: ‘CP=“CAO PSA OUR”’, ‘x-ua-compatible’: ‘IE=10’, date: ‘Tue, 26 Jan 2021 20:33:35 GMT’, connection: ‘close’, ‘content-length’: ‘0’, ‘x-backend-server’: ‘lwf2wue1b-da9f’, ‘x-lb-server’: ‘llblue1b-5471’ }, data: null } }
W20210127-17:47:59.293(0) (oauth_server.js:392) Error in OAuth Server: Failed to complete OAuth handshake with asomove at https://asomove.org/sys/login/OAuthLogin. failed [404]
I20210127-17:47:59.720(0) Exception while invoking method ‘login’ { Error: Failed to complete OAuth handshake with asomove at https://asomove.org/sys/login/OAuthLogin. failed [404] at CustomOAuth.getAccessToken (app/custom-oauth/server/custom_oauth_server.js:132:18) at Object.OAuth.registerService.query [as handleOauthRequest] (app/custom-oauth/server/custom_oauth_server.js:189:26) at OAuth._requestHandlers.(anonymous function) (packages/oauth2/oauth2_server.js:10:33) at middleware (packages/oauth/oauth_server.js:161:5) at /snap/rocketchat-server/1453/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40 message: ‘Failed to complete OAuth handshake with asomove at https://asomove.org/sys/login/OAuthLogin. failed [404]’, response: { statusCode: 404, content: ‘’, headers: { ‘cache-control’: ‘private’, p3p: ‘CP=“CAO PSA OUR”’, ‘x-ua-compatible’: ‘IE=10’, date: ‘Wed, 27 Jan 2021 17:47:59 GMT’, connection: ‘close’, ‘content-length’: ‘0’, ‘x-backend-server’: ‘lwf2wue1b-da9f’, ‘x-lb-server’: ‘llblue1b-5471’ }, data: null } }