DEV Community

loading...

Discussion on: A Guide to Securing Node.js Applications

Collapse
andreidascalu profile image
Andrei Dascalu

I would never consider it a good practice to force anyone to use social sites if they want to use a webapp.

As an optional alternative, sure (personally I wouldn't offer FB login at all and I would never use sites that need it, but that's just me) but not as a full replacement.

Oh, so you want to browse my blog / shop in my store but first you must hand over your data to Facebook / Google. Because security.

Collapse
shaikhshahid profile image
Shahid Shaikh Author

Totally agreed. A password-based auth might be old but still works great.

Thread Thread
manyrios56 profile image
Manuel Rios

for sure, even if is just one of the steps to log... I really like it yet

Collapse
noclat profile image
Nicolas Torres

Just email magic links in that case :). Passwords are deprecated.

Thread Thread
andreidascalu profile image
Andrei Dascalu

Absolutely, password are deprecated. That's why nobody uses them anymore and the very few websites that use them are compromised 10 times a day.
Just gonna send an email link to an email address based solely on the existence of that email, which the user is going to access with a ... password. There, the bucket was kicked down the road a bit more.
Points:

  • passwords are acceptable. Not great or perfect, but acceptable. YOUR system needs to be secure, but you can't aim to protect people from themselves. There's no way to do that reliably that doesn't also deterr users from using your system. Sure, if you have a role system whereby a compromised account can be user to elevate access, then it stands to reason to aim higher - but that's not useful for end-user facing systems.
  • there are good systems of user/access management that you can reliably defer authentication and authorization to (Azure AD or even identity management systems like Okta). It's not necessarily because they are password-less but because authentication can be customized (eg: you can let the users decide what they want to login with: password, social, user management systems, magic links or simply default authentication to the use of given networks) and you can also restrict access based on chosen methods or disable certain methods in certain situations (eg: with Okta you can enable facebook login but say facebook has a breach -> then you can relegate facebook-enabled accounts to a different method).
Thread Thread
thedaveamour profile image
David Amour

"That's why nobody uses them anymore and the very few websites that use them are compromised 10 times a day" - What is your source for these facts, or are they just opinion?

Thread Thread
andreidascalu profile image
Thread Thread
thedaveamour profile image
David Amour

Ok. Funny then but not helpful.

Thread Thread
andreidascalu profile image
Andrei Dascalu

That's what the second part of the post was for. Unless you're looking for validation.

Collapse
wparad profile image
Warren Parad

That's because most companies are not security competent. Sure I would never hand my data over to Facebook, but Google has proven they don't know what do with it anyway. Realistically you must trust some repository for storing access credentials. Using federated login is much safer than using Lastpass, 1Password, etc... If you want a privacy first federated login, come talk to me in a couple of months, Authress will have that capability.

If you don't use a social login, the site you are using will most likely leak all your data. And sure for a blog you can argue nothing bad, but a site that I put my credit card in, I would never trust that site to handle my data correctly. It usually ends up like this: Hacked home cams used to livestream police raids in swatting attacks.

Thread Thread
andreidascalu profile image
Andrei Dascalu

For credentials, sure. But social login doesn't come with simply credentials storage but with an agreement to allow monitoring online behaviour to the extent that a user needs to put in place a lot of serious safeguards to protect their data and prevent traces, doubly so if they have social media presence.
Without social media profile, some generic data can be leaked, but it's much easier to prevent it even with basic modern browser enhancements.
Password storages, I trust (so far) which is why I prefer the password storages + generated password rather than social login.

Thread Thread
stephanep profile image
Stephane Paul

I would go password less for 2021, people are just dumb with passwords.

Thread Thread
andreidascalu profile image
Andrei Dascalu

Unless you mean biometrics, I don't see how that goes. Social login means the password is handled by Facebook. But it's still a password just somewhere else, incidentally with a bigger footprint, a bigger target both for hacking and phishing. I have nothing against providing social login as an alternative, just not a replacement for user password (with 2fa, maybe).
If there's a breach on their side, you can't do much except remove that provider.

Thread Thread
shaikhshahid profile image
Shahid Shaikh Author

Totally agreed.