Feature suggestion: login with an account from other websites (e.g. Mastodon, GitHub, etc.)

Please implement this feature so that users do not need to sign up with passwords. Preferably could you implement sign up with Mastodon and GitHub?
Thank you!

Thanks for the suggestion @umonaca! I am curious to see if others would find it useful too. Do you think having password resetting built-in would mitigate problems that could arise from signing up with passwords (ie: forgetting, etc)? That is something we have on our radar and you can track here.

The link for here is not valid so I do not know which page you are referring to.
OAuth signing in with other websites’ accounts is very useful. For example, I login to this discourse forum with my GitHub account. Registering accounts everywhere is very inconvenient for users.

Appreciate the catch with the link there @umonaca! I just fixed it. Hope that gives some context because we are hoping that automatic password resetting can at least help with this general problem of having multiple accounts. It annoys me too!

What do others think?

I like the option of paper recovery codes someone has mentioned in the thread you linked, @cjeller1592.
I don’t think, however, this will completely fix the idea of logging in with a Mastodon or Github account.
I personally would like both options, ie: being able to chose if I want to create a dedicated write.as account (with password reset as proposed in the link) or use Mastodon instead.

1 Like

I am part of a team setting up a collection of federated services for Debian (https://wiki.debian.org/Teams/DebianSocial). OAuth support would be extremely useful for us, as then we can tie into Debian Salsa (Gitlab instance) and not have to manage users outside of existing Debian user management processes.

1 Like

Hey @paddatrapper, we’d love to help you get your instance running! We actually have core OAuth support in WriteFreely today (to be released in v0.12), currently with Write.as and Slack as providers. We’d just need to add support for Gitlab.

I’m not sure when we’ll be able to get to this, but in the meantime, we’d be more than happy to review and merge support for Gitlab if you’re interested in implementing it. It should be pretty straightforward overall, using what we already have today. @ngerakines developed everything, but from my understanding the process would be:

  • Add a new configuration section similar to WriteAsOauthCfg
  • Copying oauth_writeas.go as a starting place, create similar methods for Gitlab, using configured values
  • Add a new func similar to configureWriteAsOauth()
  • Call that new func in routes.go
  • Add a “Login with Gitlab” button in login.tmpl
  • [Edit] Add account management:
    • Include Gitlab logo in static/img/mark/ directory
    • Add logo + buttons to user’s Account Settings page (settings.tmpl) – under both “Linked Accounts” and “Link External Accounts”
  • Configure your WF instance for Debian Salsa, and you should be able to log in!

If you want to go that route, please feel free to start a new #development topic and we can help or answer questions along the way.

Otherwise, thanks for your input! And we’ll add Gitlab support to our list of priorities.

1 Like

Thanks for the very detailed reply! I have never worked with Golang before, but I will try get some time over the next few weeks to give it a try and see what progress I can make here. Having existing code to work with helps a lot.

Awesome. Since we’d really like to support your use of the platform, we’ll be happy to collaborate on this. So feel free to submit what you have, even if it’s not perfect, and we can always help get it to a merge-able state.