How hard is it to implement email verification?

  • melsaskca@lemmy.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 hours ago

    That’s like every freaking store offering me a “points” plan. All this shit is getting out of hand already.

  • Echo Dot@feddit.uk
    link
    fedilink
    English
    arrow-up
    38
    ·
    1 day ago

    How is it login with YouTube and login with Google two different things. It’s the same login.

    What website is this?

      • bangupjobasusual@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        1 day ago

        Sorry, yes it is. I’d really prefer it if software developers would take this more seriously. Managing user credentials is a high risk burden that you should avoid if possible.

        • limer@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          16 hours ago

          There are open source solutions to handle this effectively, which can be used in most projects; I would change the advice you gave to “ do not roll your own email verification, ever”

          • bangupjobasusual@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            13 hours ago

            I wouldn’t change my advice. Even if you go Argon2id, you still have a creds database to protect. If you let that go it’s just a matter of time before it’s useful.

            You could go webauthn, but now we are back to passkey or windows hello or whatever. Which is what I told op, they invented passkey, and it’s Still third party reliance.

            Source: I’ve been a software architect for 25 years.

            • limer@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              ·
              13 hours ago

              If one cannot protect their database, then there is a lot of other issues going on besides how one authenticates.

              Over the years , I’ve read about some security issues with different social logins, and a few of them have been serious. One never knows when the next vulnerability is.

              At the end of the day, everything has a vulnerability, and the best way to mitigate against that is best practices, and keeping up with news. That, and a bit of luck.

              I have created my own login systems multiple times, and probably violated over a hundred best practices. I don’t know what a best login system looks like, but I have enough experience to find flaws with all of them now. And I am not confident in anything I use. Even if I only use battle tested systems made by large groups of peoples

              • bangupjobasusual@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                11 hours ago

                This is precisely why you should really consider leaning into oauth, your users don’t want another unique password to manage, so guess what, when your creds database gets leaked, it’s not just your site that’s getting screwed.

                Look, with new ai tools, security is a very scary place to live. I wouldn’t blow this off. Let the companies that invest millions in it manage this piece for you.

  • it_depends_man@lemmy.world
    link
    fedilink
    English
    arrow-up
    246
    ·
    2 days ago

    How hard is it to implement email verification?

    Harder, actually.

    That’s the point of OAuth, which is what you’re seeing there.

    The idea is that you’re you and you have a… google account. This shitty little website doesn’t want to be responsible for you login details, because those can get stolen. Maybe they contain an email address, which is a problem. Software needs to be updated, it’s all a big. They don’t want to touch anything in terms of security that identifies you as you.

    Maybe all the website does is save your favorite pepe memes. They don’t need anything else from you, but they still need to have something to get a user id and make sure nobody messes with your pepe meme collection. That’s where this system comes in, because the rest of website becomes significantly easier. They don’t need to store anything personally identifying, all they get is an ID and they can connect it with your pepes.

    The only downside to OAuth is, as you can also see, that it’s corpos you don’t want to trust that are offering it.

    • Blackmist@feddit.uk
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 hours ago

      Well there is that, but it also gets them potentially a whole bunch of extra info about you, and lets them link you up with data from other sites they may own or share data with.

      It does tell you what you’re about to give them, but 25+ years in the industry has taught me only too well that nobody ever reads anything ever.

    • a_non_monotonic_function@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      12 hours ago

      Shitty little website…

      I don’t know, man, I don’t want anyone that doesn’t understand or doesn’t give a shit about security trying to implement it.

      That’s just a recipe for bad things.

    • criss_cross@lemmy.world
      link
      fedilink
      English
      arrow-up
      27
      ·
      2 days ago

      Was just about to say getting Auth right is super hard. Getting someone else to do it for you is a godsend.

    • lenocolomo@lemmy.ml
      link
      fedilink
      English
      arrow-up
      35
      ·
      2 days ago

      While I get that, it is still unfortunate that no open-source, trusted variant can be part of the usual ways.

      • it_depends_man@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 day ago

        That’s… mostly because of popularity and it depends on whether some service is offering OAuth and if the website in question is using THAT identity provider.

        For example, mastodon is technically offering it.

        https://github.com/mastodon/mastodon/pull/16221

        but this is the docs page:

        https://docs.joinmastodon.org/admin/optional/sso/

        So the answer in this case is to just grow, promote and support what we’re already doing: fediverse stuff.

      • Axolotl@feddit.it
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 day ago

        Actually, there are some open-source self-hosted alternatives like Hydra but no one implements it :( I have seen only 1 site that support it

      • foggenbooty@lemmy.world
        link
        fedilink
        English
        arrow-up
        26
        ·
        2 days ago

        There’s really no reason something like that couldn’t exist. A foundation would just have to decide to dedicate the resources to it.

        The issue is it would have to gain significant adoption in order for web admins to think to include it. This list here is actually a lot larger than you usually see. It’s often just the big 2 or 3.

      • gwl [he/him]
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 days ago

        They can? They are in some cases!

        Just usually indie stuff. There’s Login With Mastodon on plenty of websites.

    • skisnow@lemmy.ca
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      Most users outside of Lemmy dgaf about corpos if it saves them having to type in an email address on their phone and get it right and then go to their email and then hit refresh a few times before going back and hitting send again and then checking their spam folder

    • nieminen@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 days ago

      Yeah, some of the same reason everyone uses stripe or PayPal for payment systems. If the site itself handles the cc info it holds all the liability, and has to pass rigorous POC testing and compliance.

    • Wispy2891@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      But most oauth implementations use the user email as identifier so they get the email anyway

      • it_depends_man@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 day ago

        All the smarter ones don’t because an email can change, your google account unique id will not, that’s the purpose of account IDs.

        I won’t deny that many people/websites probably do use email though. Which is bad. But I can’t deny that that probably is what is happening.

        • Wispy2891@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          17 hours ago

          i saw many that use the email as “convenience”, as the user can later login with a magic link (i hate those!) without the oauth or even using another oauth service linked to the same email

    • fraksken@infosec.pub
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 days ago

      I have no account with the above. I wouldn’t make one for being able to use another service.

      No idea what the product is here, but I guess I’m not their target audience. Which is fine.

  • zorro@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    ·
    2 days ago

    I feel conflicted. OAuth gets a lot correct in so far as most sites don’t have to deal with a lot of difficult auth bits, but also I don’t like having to rely on big (usually social media) companies to be the auth source.

    I think about dnssec a lot.

    It feels to me like there should be some form of public key infrastructure where there is a global root key (or short list of) then providers that can issue certificates out to other smaller organizations or individuals who could then use that source of trust to prove who they are. Imagine OAuth but you could just fill in your provider of choice (self hosted?) and if the certs checked out everything would verify correctly.

    That being said who does the bits around ensuring that you are who you say you are. I suppose a government body running such a system could work though I sweat at the idea of going to the dmv to reset a forgotten password or report a stolen identity.

    Idk maybe if I think about this enough I can come up with a cryptography secure system…

  • CannedYeet@lemmy.world
    link
    fedilink
    English
    arrow-up
    23
    ·
    2 days ago

    I can see how they got there from the implementation side. There’s a library they used for their site, maybe a CMS, where all those choices are just a click away. But for email they have to get their hands on an SMTP server. And that takes non-zero effort.

  • BiscuityCat@lemmy.world
    link
    fedilink
    English
    arrow-up
    83
    ·
    2 days ago

    It reminds of this:

    There were more options on the website, but I forgot the name of the website, and I cannot find it now… :(

  • StarryPhoenix97@lemmy.world
    link
    fedilink
    English
    arrow-up
    29
    ·
    2 days ago

    If i cant log in with an independent email then I’m not logging in.

    I had the same problem yesterday as I was investigating tailscale. And while I get it for that service, there’s no reason for some of the other services that ask me to link my other accounts to them as a means of logging in.

    No. I will not consolidate my log-in profiles under companies that dont see me as a person, care about my privacy, and are working with hostile governments to track me.

    Semi-Anonymous or nothing. Period.

      • dustyData@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        I hate that I can’t change the auth method. I’m stuck with github. And for the life of me can’t figure out how to change to anything else. The option is not there were help says it should be, and support doesn’t care. My only choice is to scrap everything and start a new network from scratch.

    • Artwork@lemmy.world
      link
      fedilink
      English
      arrow-up
      38
      ·
      edit-2
      2 days ago

      They do not, normally, unless you specifically allow that. Yet, indeed, many services enable/require quite permissive scopes by default.

        • iltg@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          5
          ·
          2 days ago

          per oauth spec you get told what is shared. usually it’s just your user id (which often is email or username), i haven’t seen crazy scopes in the wild in a while

          • Tanoh@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            2 days ago

            Some services even have an option to only share a dummy email and not your real. Apple for example does this, so all the site gets is “36382618161@apple.com” (don’t know the exact format). And it is only tied to your real email address on apple’s side

      • valar@lemmy.ca
        link
        fedilink
        English
        arrow-up
        10
        ·
        2 days ago

        Regardless of your privacy choices, if you are using a shared login, that activity is connected with your broader profile.

  • Artwork@lemmy.world
    link
    fedilink
    English
    arrow-up
    38
    ·
    edit-2
    2 days ago

    Yes, I prefer an Email/password, too, so to depend less on third-parties, and keep it more transparent.

    Yet, OAuth/OpenID is significantly easier legally and financially than Email processing (even via outsourced services as MailChimp) and store someone’s personal information as Email address in databases, if compared to a social account ID, in long term.

    Not only that, but OAuth providers have APIs to get sufficient User information, and regularly actualize, including: Name, Email (yet, by requested/allowed scope only), activity on that social network as posts/channels/followers count etc., which may be a requirement for their Staff/algorithms to determine the priorities for transactions/support and/or security involved.

    • emb@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      2 days ago

      This right here. I’d rather my email stay the source of truth for auth, but totally sympathize with website owners that don’t want to store and protect any sensitive user data (like an email address and password).

      I do wish some sites would offer the magic link option if they don’t want to keep password hashes. It has problems too, but can be a simple way sometimes.

      On some level I know the OAuth flow should be pretty safe. The idea that I have one identity that gets me into multiple sites makes a lot of sense. And I’m already using the same email in most places, so it’s not like I’m anonymous anyway.

      And yet… I can’t convince my paranoia that ‘sign in with Google’ isn’t oversharing. I always worry that authorizing with other sites will give too many permissions to see/alter Google/whatever data, or that clicking it will take me to a fake Google/whatever page where I give away my creds.