Setup Intuit and Xero Authentication for Discourse

@fzngagan @Canapin @merefield Quick job available for anyone who wants it.

The job here is to set up Intuit and Xero authenticaiton in Discourse. The job price is $400 USD. The client is Profile - nevscope - Discourse Meta. He’ll handle payment and access to this site when the logins are ready. You can test on your local, or on https://test.thepavilion.io.

The most likely avenue for quick success here is via the OIDC Plugin.

I’ve already investigated Xero a little. It’s not possible to handle Xero OAuth2 via the default configuration of the OAuth2 Basic plugin as the response that Xero returns from the token endpoint is encoded and the OAuth2 Basic plugin doesn’t have in-built facility to decode tokens into params. It should be possible to handle it via the off-the-shelf openid-connect plugin. you should:

  1. Attempt Xero first. Their developer center is here (to register the Xero app)
  2. You’ll need this: https://identity.xero.com/.well-known/openid-configuration
  3. Turn on verbose logs

If that doesn’t work for some reason, implimenting a custom OAuth2 configuration is not too hard, given Discourse’s Authentication setup and it’s use of Omniauth. If you reach this point let me know and I’ll show you how to do it.

Notes

Knowledge about “identity” integrations is useful. There’s a fair bit of work in this area and Pavilion will be looking to move into this area on larger project-managed jobs as well. I’d like to get a sense of who has an identity skillset to bring them into those kind of jobs as they arise. I recently brought @merefield into a largish ongoing identity project for instance.

Also, it’d be great if we could build up some knowledge base resources on provider-specific identity implementions for Discourse (probably mostly using the off the shelf plugins). If you’d like to add that “open source” component to the work, I’d be happy to help you with that.

3 Likes

Thanks @angus

Happy to provide any necessary keys and logins and screenshots of what we have done so far.

1 Like

Hey @nevscope when were you looking to have this done? I’m under the cosh to deliver something for end of the month but could imagine delivering this early next month?

Hi @merefield

Yes we can wait to have this delivered. Thanks

1 Like

@merefield What would be your ETD if you were to take this? Let’s set a date.

2 Likes

Let’s say end of first week of October? (given current backlog)

So Oct 4th?

1 Like

@merefield Let’s set a date on this.

1 Like

Sure, let’s aim for the 7th because of the support week. I’ll try to bring it in sooner. I’ll get going day after tomorrow in parallel with another project.

1 Like

@merefield Ok. @nevscope The upper limit on delivery here is the 7th, but probably sooner.

1 Like

@nevscope @angus, I’ve just started looking at this today and have in fact opened a Xero dev account and am currently in the process of putting in basic settings …

1 Like

If you would like access to the admin - please register to the site I will send you via PM and will upgrade you to an admin.

1 Like

Thanks. I will do that

OK I have Xero login working on my instance, we can set that one up first if you like? I have joined your forum. Email and next steps discussed in our PM.

Update: I’ve worked with @nevscope and Xero login is now working on their production forum :tada:

He’s requested the button be changed:

“to say with Xero and change the button colour changed to #00b7e2
and
“Is a small logo possible as well?”

We’ve updated the site CSS and I’ve uploaded a logo to try out.

This will hide the current logo:

.fa.d-icon.d-icon-sign-in-alt.svg-icon.svg-string {
    display: none;
}

color:

.btn.btn-social.oidc {
    background-color: #00b7e2;
}

new logo:

.btn-social.oidc::before {
    height: 25px;
    width: 25px;
    background-image: url(logoImageURLhere);
    content: " ";
    background-size: cover;
}

Not perfect, but close!

Text was updated with Customize -> Text and js.login.oidc.title to with Xero

2 Likes

Update: Intuit appears to be working now, using the Basic OAuth Plugin, so no need for any complex fork and renames :slight_smile:

@nevscope please let us know if we can bring this job to a close or if there is anything else you need? (obviously if anything crops up over the next few days we will still be here!)

1 Like

Well done and nice work!

Task can be closed.

2 Likes

Invoice sent from Merefield Technology.
Apologies for delay in sending, I was setting up my new accounting software :).

Hi - no worries - I approved it for payment and should be settled in the next payment cycle.

Thanks!

1 Like