The Old Way
As you’re surely aware, some social services offer authentication. The ones we offer here are GitHub, Twitter, and Facebook.
Up until about a week ago, we didn’t offer Sign Up through any of these services. You had to sign up for an account the old fashioned way (enter email, pick password, etc), then after that, you could connect social media accounts from your user settings in which to log in with later.
This led to much confusion, as users these days have higher expectations of how these buttons work. I know I do! If you offer social Log In, I don’t wanna think about it, I just want to instantly pop into your service. I don’t want to remember if I authorized this particular service or which one I signed up with or whatever.
In fact, I prefer it such that if you don’t find an account for me as I try to Log In, create an account for me and log in me.
The New Way
You don’t need to remember anything. When you choose to Log In with a social media service, we get your email from that service, match it to your account, and log you in. No weird caveats, it just works.
If we don’t find an account with that email, an account will be created for you and you’ll go into the Sign Up flow. We’ll improve this over time, making it possible to bail from this or be able to authenticate to multiple services from your settings again manually, so if you use different emails on different services, they can still be connected to a single CodePen account.
It’s kind of a funny not-so-secret with all these social buttons on web services. Some of them may say Log In and some may say Sign Up, but for the most part they all do both.