/oauth

Allow users to log in with GitHub, Twitter, Facebook, and more!

Primary LanguagePHPMIT LicenseMIT

OAuth by FriendsOfFlarum

License Latest Stable Version Total Downloads OpenCollective

A Flarum extension. Allow users to log in with various OAuth providers

Bundled providers

By default these providers are included:

  • Discord
  • Facebook
  • Github
  • Gitlab
  • Google
  • LinkedIn
  • Twitter

Permissions

This extension provides the ability to view the status of linked OAuth providers (intended for admin and/or moderator use). In order for this to function correctly, you must also set the permission Moderate Access Tokens to at least the same group as you require for Moderate user's linked accounts.

Additional providers

Additional OAuth providers are available for this extension. Here's a handy list of known extensions, let us know if you know of any more and we'll get them added!

Screenshots

Default provider settings example provider setup example

Login/signup example with Github, Twitter, Twitch and Google enabled. example login

Installation

composer require fof/oauth

Updating

composer update fof/oauth
php flarum cache:clear

Configuration

Translation

You can replace the text for the forum sign in buttons in two ways.

  • Use fof-oauth.forum.providers.<name> to replace the name of the provider on the forum side
  • Use fof-oauth.forum.log_in.with_<name>_button to replace the entire button "Log In with " text

Extending

It is possible to add additional Providers using an extender. See OAuth-Amazon for an example of how to accomplish this but basically:

  • In your new extension, require fof/oauth as a dependency
  • Define a new Provider which extends FoF\OAuth\Provider
  • From your new extensions extend.php, register the provider (new FoF\OAuth\Extend\RegisterProvider(MyNewProvider::class))
  • Provide the required translations under the fof-oauth namespace. See the linked example extension for details on which keys are required.
  • (optionally) Provide an admin panel link to fof/oauth for easy configuration. Again, see the linked example.
  • (optionally) Provide any CSS required to style your new login button. See the linked example.

Links

OpenCollective

An extension by FriendsOfFlarum.