PHPackages                             liplum/flarum-sync-profile-core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. liplum/flarum-sync-profile-core

ActiveFlarum-extension

liplum/flarum-sync-profile-core
===============================

The core module of user profile synchronization when authenticated by an external identity provider.

v0.2.3(1y ago)24011MITPHP

Since Dec 7Pushed 1y ago1 watchersCompare

[ Source](https://github.com/liplum/flarum-sync-profile-core)[ Packagist](https://packagist.org/packages/liplum/flarum-sync-profile-core)[ RSS](/packages/liplum-flarum-sync-profile-core/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (6)Dependencies (2)Versions (6)Used By (1)

Flarum Sync Profile Core
========================

[](#flarum-sync-profile-core)

A [Flarum](http://flarum.org) extension to sync user profile(attributes) when authenticated by an external identity provider. This extension provides support for syncing:

- Nickname
- Avatar
- Groups
- Bio
- Masquerade Attributes

Some authentication protocols, such as SAML2, LDAP, OpenID Connect, etc have the ability to send attributes along with an authentication response. This extension provides a framework for syncing user attributes and permissions via that attribute response.

Get Started
-----------

[](#get-started)

Installation the extension:

```
composer require liplum/flarum-sync-profile-core
```

Update the extension:

```
composer update liplum/flarum-sync-profile-core
```

How to Use
----------

[](#how-to-use)

For Flarum Admins
-----------------

[](#for-flarum-admins)

If you're using an authentication or auth-sync extension based on this extension you can choose which types of attributes you'd like to sync on the extension settings page.

Note that in order to sync Bios and Masquerade Profile Fields, you need to install and enable the corresponding extensions:

- [Friends of Flarum User Bios](https://github.com/FriendsOfFlarum/user-bio)
- [Friends of Flarum Masquerade](https://github.com/FriendsOfFlarum/masquerade)

For Extension Developers
------------------------

[](#for-extension-developers)

To develop an authentication or auth-sync extension based on this extension, you should:

1. Install the extension as dev dependency: `composer require liplum/sync-profile-core`.
2. Inject `ExtensionManager $extensions` in your constructor.
3. Import the AuthEventSync model via `use Liplum\SyncProfile\Event\SyncProfileEvent;`
4. Before logging in/registering the user, create an AuthSyncEvent. Ex:

```
use Flarum\Extension\ExtensionManager;
use Illuminate\Contracts\Events\Dispatcher;

private ExtensionManager $extensions;
private Dispatcher $dispatcher;

if ($this->extensions->isEnabled('liplum-sync-profile-core')) {
  $this->dispatcher->dispatch(new SyncProfileEvent(
    "example.user@example.com",[
      "avatarUrl" => "https://example.com/avatar.jpg",
      "nickname" => "Test User",
      "bio" => "Hello, this is my bio",
      "groups" => [1, 15, 2],
      "fof/masquerade" => [
          "fieldA" => "Example A",
          "fieldB" => "Example B",
      ],
  ]));
}
```

Replace the generic values above with attributes from your Identity Provider's response.

Attributes should be provided in a json-encoded string (see above example). The JSON string should have the following attributes:

- `nickname`: The display name of a user.
- `avatarUrl`: A URL pointing to an image for the user's avatar. Make sure that the file type is compatible with Flarum (jpeg or png I believe).
- `groups`: A comma-separated list of ids for groups that a user should belong to. Keep in mind that this will both add and remove groups, so make sure that all desired groups are included.
- `bio`: A string that will be synced to the user's bio if [Friends of Flarum User Bios](https://github.com/FriendsOfFlarum/user-bio) is enabled
- `fof-masquerade`: An associative array for any masquerade keys and attributes you want to sync. Make sure that the key matches the name of the profile field exactly.

### TODO

[](#todo)

- Add better validation and error handling.
- Add a setting to support default groups that all users should be added to, and groups that users should never be synced to.
- Add support for getting users via LoginProvider providers and identifiers, in addition to email.

Acknowledgement
---------------

[](#acknowledgement)

Thanks to  with `MIT License`.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance47

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 Bus Factor1

Top contributor holds 98.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~30 days

Total

5

Last Release

397d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/363621f300451b3ca1cff8e4d33000623eba78b7c6c5bbd456df5cdea721f1e2?d=identicon)[Liplum](/maintainers/Liplum)

---

Top Contributors

[![liplum](https://avatars.githubusercontent.com/u/41872415?v=4)](https://github.com/liplum "liplum (51 commits)")[![Justman100](https://avatars.githubusercontent.com/u/149507651?v=4)](https://github.com/Justman100 "Justman100 (1 commits)")

---

Tags

flarumflarum-extflarum-extensionflarumflarum-extensionflarum-ext

### Embed Badge

![Health badge](/badges/liplum-flarum-sync-profile-core/health.svg)

```
[![Health](https://phpackages.com/badges/liplum-flarum-sync-profile-core/health.svg)](https://phpackages.com/packages/liplum-flarum-sync-profile-core)
```

###  Alternatives

[datlechin/flarum-link-preview

Automatically display a rich preview of the link contents.

1715.9k](/packages/datlechin-flarum-link-preview)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
