Is there any way to use this with an existing userbase?
-
So, I've got a web app (node.js / Express, running on Heroku with Postgres). It has its own log in scheme, mechanism for changing username, password, etc.
I'd like to run a discussion board on the same domain. If I use NodeBB, would I be able to set it up to use my users? I'd like it so they have to take no extra steps to be able to post on the discussion board.
Is there an API I can talk to to make this happen?
-
That is possible to do, I've had clients do it. But it required writing a custom backend to do so. The API you'd have to talk to would be coming from the existing userbase system, rather than from NodeBB. NodeBB would then have to talk to that API. But first you need the API to define what it is you want NodeBB to do. Then, likely, you'd need to make a plugin to handle talking to said back end.
My team has done this, but generally it's a lot of work for little return. Writing a script to sync them is often better, and cheaper. But if you need them to both run simultaneously, it can be done and has been.
-
Thanks. Is it fair to say that there isn't any existing plug in that does any or this? (or anything that provides a starting point?)
I see this: https://github.com/NodeBB/nodebb-plugin-write-api
Is that likely to be helpful? (although that seems to go the opposite direction than you suggest)
Thanks again.
-
@rob-brown said in Is there any way to use this with an existing userbase?:
Thanks. Is it fair to say that there isn't any existing plug in that does any or this? (or anything that provides a starting point?)
There are some plugins that might help IF you are using a standard API. But there is no possibility of having a plugin that does this universally.
For example, if you wanted NodeBB to do this with generic WordPress, you'd need a very specific plugin for that. If you also or alternatively wanted to do it with Drupal, you'd need a different plugin. Every application backend would need a unique plugin.
So outside of using things like open universal authentication APIs, there can't be a pre-existing plugin, you'd need one for your specific use case.
-
@rob-brown said in Is there any way to use this with an existing userbase?:
I see this: https://github.com/NodeBB/nodebb-plugin-write-api
Is that likely to be helpful? (although that seems to go the opposite direction than you suggest)
Thanks again.No, that would be helpful for the opposite direction - if NodeBB was your existing system and you wanted something else to authenticate to it. The API that you need is the one from your existing system so that NodeBB can have a plugin to talk to that.
You don't need an API from NodeBB, because it is the client, not the server, in this situation.
-
@scottalanmiller It is easy enough for me to make my app (technically my client's app) support any standard API (if I have documentation of that API, anyway). I prefer to make changes to my app rather than trying to write a plugin for NodeBB, simply because it can probably take me forever to get up to speed on writing plugins for NodeBB.
(and there is basically zero budget for this... it is free work for local business that is struggling to stay afloat by upgrading their online presence before coronavirus lockdown kills them completely)
I see this:
https://github.com/julianlam/nodebb-plugin-sso-wordpressIf I simply implement the other side of it (i.e. make my app "pretend to be wordpress") should that do the trick? Any major gotchas I'm not thinking of?
Thanks again for any help.
-
Probably easier to do
https://github.com/julianlam/nodebb-plugin-sso-oauth
The most seamless user experience would be using
-
@rob-brown said in Is there any way to use this with an existing userbase?:
@scottalanmiller It is easy enough for me to make my app (technically my client's app) support any standard API (if I have documentation of that API, anyway). I prefer to make changes to my app rather than trying to write a plugin for NodeBB, simply because it can probably take me forever to get up to speed on writing plugins for NodeBB.
Sure, I get that that is way easier. The problem is, the old app presumably has the data and NodeBB does not. So if to have both use the existing userbane, it needs to use the existing base of users. So while it is easier, by far, to have your app authenticate to NodeBB, that won't meet your stated (and reasonable) requirement/goal.
-
@rob-brown said in Is there any way to use this with an existing userbase?:
(and there is basically zero budget for this... it is free work for local business that is struggling to stay afloat by upgrading their online presence before coronavirus lockdown kills them completely)
I totally get it. I run a similar community on all volunteer time and no budget. We actually existing pre-COVID to support businesses devastated by the local civil war, and then COVID hit to compound problems!
-
@rob-brown said in Is there any way to use this with an existing userbase?:
If I simply implement the other side of it (i.e. make my app "pretend to be wordpress") should that do the trick? Any major gotchas I'm not thinking of?
YES! If you can get your app to act the same as WordPress here, then NodeBB could talk to it without any further ado. That would be a great approach.