@julian said:
Woo hoo!
Do both versions appear on the plugin list? If so, I can remove the older one for you.
Yes, they are. I already flagged the old one as deprecated, also updated the README pointing to the right one.
@julian said:
Woo hoo!
Do both versions appear on the plugin list? If so, I can remove the older one for you.
Yes, they are. I already flagged the old one as deprecated, also updated the README pointing to the right one.
Hi everyone,
I know it's been a long time, but I updated the plugin. Now it works with NodeBB 0.6.x.
The official plugin is:
NodeBB Steam SSO. Latest version: 0.0.9, last published: 10 years ago. Start using nodebb-plugin-sso-steam in your project by running `npm i nodebb-plugin-sso-steam`. There are no other projects in the npm registry using nodebb-plugin-sso-steam.
npm (www.npmjs.com)
I know it maybe remain a few problems with this plugin like special chars on steam nickname, I don't know how NodeBB is dealing with this. I'll try to keep a roadmap to this plugin.
There are 2 plugins listed on NPM about nodebb steam plugin. One was depecrated in favor of the new plugin name. I'll try to update the README of this one. Is there anyway to put a warning message when users tries to install this plugin from NodeBB ACP? Maybe add a warning on package.json... Just a thought.
@Ezra-Sharp said:
would be cool to get a steam icon or have the ability to link to one, there just a "tick" on the register screen for it atm.
The Steam icon must be customized on your template settings (CSS). FontAwesome doesn't provide the Steam icon in their set. There is an issue on Github requesting this icon: https://github.com/FortAwesome/Font-Awesome/issues/1035
By the way, another issue opened on plugin github project alerted me for one question: Steam users can have special characters on nicknames, witch is not acceptable by NodeBB username validations:
I got a report from a user earlier that they received the following error: {"error":"Invalid Username!"} When redirected back to the site from Steam. Creating issue here before I take a look at the plugin.
GitHub (github.com)
@julian, @psychobunny, suggestions?
Hi everyone,
After knowing NodeBB for the first time (3 months ago, accordingly to my profile), just now I have time to dedicate to my project. Meanwhile, thinking in my project on future, I developed the NodeBB OpenID Steam Plugin (which have been used more than I ever imagined. At least I have to deal with some issues on Github ). I'm a newbe on NodeBB and on Nodejs too.
What's the worlflow of development/deployment that you guys uses on your NodeBB projects?
At home I have Win 8 (for Photoshop/Games) and a VM with Ubuntu, where lives all my applications (PHP/Nodejs/MySQL, Git, etc.), and my code editor of the moment, Sublime Text. But what I'm really interested is to know how do you start a new plugin/theme on localhost, and then deploy on production. Start to create manually the files, start with a template of another plugin (installed via npm, for example), tests, and after the plugin/theme ready for production, creates a new npm package and install on production, or uploads by FTP, or by git repo, or use any solution of continuous integration...
And about the DB? I'm new to MongoDB and NoSQL databases.
This weekend I successfully configured my project on Digital Ocean, using Apache proxy (http and ws), to my NodeBB application and it's working neat. But I did only for tests. I have to develop my theme and other plugins before put it live.
@mouseluka said:
npm install nodebb-plugin-openid-steam
@nanoVapor why after confirmation of my creditionals on steam site a take next url ?
I'm using now the latest version of NodeBB and the plugin isn't working anymore. Actually, none of SSO plugins is working for me. I tried Github, Facebook and I couldn't log in...
Can't seem to get this to show up on the login page. I installed, activated/enabled, and put in key from steam. Any ideas what I am missing?
Edit: I was missing restarting the server, woops!
Glad you managed to solve the problem!
I'll update the README to alert the users to restart the application after set the STEAM API Key
That's awesome! I'll use this new version on my project later
@julian Yes, first time publishing to npm, and everything gone right. It's in npm repo already
And I tested using npm install on my nodebb directory.
As I'm thinking use NodeBB to a gaming project, I made this plugin to use Steam account to register/login on NodeBB.
npm install nodebb-plugin-sso-steam
The Steam profile can be private, so this plugin only use the nickname, steamid, profile url and the avatar.
Adding a new post, here the first version of my plugin:
NodeBB Plugin that allows users to login/register via their Steam account. - igorprado/nodebb-plugin-sso-steam
GitHub (github.com)
done(null, user);
Where is that defined? I don't see it in the code you posted. Are you sure it is a function?
Never mind.. I fixed it
passport.use(new passportSteam({
returnURL: module.parent.require('nconf').get('url') + 'auth/steam/callback',
realm: module.parent.require('nconf').get('url')
}, function(identifier, profile, done) {...});
profile parameter was missing.. Now I'm logged in with my Steam account
I'll run more tests, improve the code and put on github for the pros take a look.
--
By the way, as FontAwesome doesn't have the Steam icon, I'm using the gamepad icon. It's ok on admin page, but in user login page, on alternative logins, the code puts a -square suffix on the <i> element class. And there are no fa-gamepad-square, so I used another icon that have a square suffix on that page...
Hi,
After some study and tests, I'm falling on an error that I have no clue..
My plugin is working (i guess). I used the github plugin, also the twitter login (to use the avatar from steam), and I can get the user registered successfull, with the name, avatar, everything, but someting is going on at the return from Steam login page.
Here the main code, there is no err, it's executing the done(null, user)
Steam.login(newProfile.id, newProfile.username, newProfile.avatar, function(err, user) {
if (err) {
return done(err);
}
done(null, user);
});
The value of user is: { uid: '2' } (after register or after login).
And the error on console is:
/home/igor/web/nodebb/node_modules/redis/index.js:535
throw err;
^
TypeError: object is not a function
at /home/igor/web/nodebb/node_modules/nodebb-plugin-openid-steam/library.js:45:17
at /home/igor/web/nodebb/node_modules/nodebb-plugin-openid-steam/library.js:71:9
at /home/igor/web/nodebb/node_modules/nodebb-plugin-openid-steam/library.js:104:7
at try_callback (/home/igor/web/nodebb/node_modules/redis/index.js:532:9)
at RedisClient.return_reply (/home/igor/web/nodebb/node_modules/redis/index.js:613:13)
at HiredisReplyParser.<anonymous> (/home/igor/web/nodebb/node_modules/redis/index.js:266:14)
at HiredisReplyParser.EventEmitter.emit (events.js:95:17)
at HiredisReplyParser.execute (/home/igor/web/nodebb/node_modules/redis/lib/parser/hiredis.js:43:18)
at RedisClient.on_data (/home/igor/web/nodebb/node_modules/redis/index.js:488:27)
at Socket.<anonymous> (/home/igor/web/nodebb/node_modules/redis/index.js:82:14)
DEBUG: Program node app exited with code 8
Line 45 of the library.js is from the main code I've posted above: done(null, user);
Any clue from that or it's better post my project at Github?
Thanks
So, in development mode, how can I delete the users?
I'm trying to make a steam openid authentication plugin and I only have one account on steam to test, so I want to delete my user in order to make tests...
@julian Thanks for the info. I'll try to replicate the plugin and I'll post here if it works.
Hi guys,
First of all, congratz! This project is awesome!
Second, I started my studies on node.js a week ago and I'm very excited about it.
I have a project in mind (I've acctualy already started the design and some modules using node/express/socket.io) and this project requires a board to community and this is were I found NodeBB.
I would like to integrate with Steam OpenID for Register/Login.
It would be a huge effort to add this authentication method?
--
Edited: looking at the github project, I found passport, wich use the OpenID provider. I guess it's the way, right?
Thanks