Skip to main content
zerotal

Documentation


Documentation / zerotal / auth / SocialManager

Class: SocialManager

Defined in: packages/auth/src/social/SocialManager.ts:40

Registry of social-login OAuth2Drivers, bound in the container as "social" and reached everywhere through the Social facade.

SocialProvider auto-registers a driver for each provider declared in config/social.ts; register custom providers manually with register. In tests, fake swaps any provider for a network-free fake.

Example

// Resolve a driver and start the flow (see OAuth2Driver.redirect / .user):
Social.driver("github").redirect();
const socialUser = await Social.driver("github").user();

Constructors

Constructor

new SocialManager(): SocialManager

Returns

SocialManager

Methods

register()

register(name, driver): this

Defined in: packages/auth/src/social/SocialManager.ts:44

Register a driver under a name (e.g. 'github', 'google').

Parameters

name

string

driver

OAuth2Driver

Returns

this


driver()

driver(name): OAuth2Driver

Defined in: packages/auth/src/social/SocialManager.ts:56

Retrieve a registered driver by name.

Parameters

name

string

The provider key it was registered under (e.g. 'github').

Returns

OAuth2Driver

The driver instance.

Throws

If no driver is registered under name.


drivers()

drivers(): string[]

Defined in: packages/auth/src/social/SocialManager.ts:63

List all registered driver names.

Returns

string[]


fake()

fake(name, user?): SocialUser

Defined in: packages/auth/src/social/SocialManager.ts:75

Replace a provider with a FakeSocialDriver for tests. redirect() still works; user() returns user without touching the network. Returns the fake user for convenience.

Parameters

name

string

user?

SocialUser = ...

Returns

SocialUser

Example

Social.fake("github", fakeSocialUser({ id: "github-123" }));