scripting / feedlandInstall

Instructions for setting up a FeedLand server.
GNU General Public License v3.0
3 stars 1 forks source link

WordPress signin in a multi-instance environment #50

Open scripting opened 7 months ago

scripting commented 7 months ago

I announced on Sunday that I've been working with people at Automattic to make it possible to run FeedLand on a server that can scale to millions of users. That means that you can't rely on any info that stored in the local memory of one instance, because the response may come from a different instance. This issue has come up over and over, and it comes up in the case of WordPress login.

Previously I was sending a random number as the key value that confirms that the request to log in with WordPress came from FeedLand. To do that in the new context, the key value has to be stored in the database, so it's equally accessible to all instances.

I used the same confirmation system that we use for email identity, that meant changes to feedland, daveappserver and wpidentity versions 0.6.22, 0.7.12 and 0.4.11.

Note -- to get this functionality you must set config.flUseDatabaseForConfirmations to true.

cagrimmett commented 7 months ago

@scripting I’m running into an error with npm update on feedland:

npm ERR! code ETARGET npm ERR! notarget No matching version found for wpidentity@^0.4.12. npm ERR! notarget In most cases you or one of your dependencies are requesting npm ERR! notarget a package version that doesn’t exist.

I think this is coming from the published npm package for daveappserver, which has "wpidentity": "^0.4.12" in package.json

The published package for daveappserver looks different from the code on GitHub for that line. GitHub has ^0.4.11

scripting commented 7 months ago

@cagrimmett -- please try again.

scripting commented 7 months ago

@cagrimmett -- that step of getting all the package.json files specifying the correct versions is a relatively new part of my build process, wasn't needed until earlier this year, and I still do it by hand, and it's hard for my brain to keep track of all that and I make mistakes, so it's good to have a friend check the work.

cagrimmett commented 7 months ago

@scripting Update worked, thank you!