AccountsServer
@accounts/server › Globals › AccountsServer
Type parameters
▪ CustomUser: User
Hierarchy
- AccountsServer
Index
Constructors
Properties
Methods
- activateUser
- authenticateWithService
- createTokens
- deactivateUser
- findSessionByAccessToken
- findUserById
- getHooks
- getOptions
- getServices
- impersonate
- loginWithService
- loginWithUser
- logout
- on
- prepareMail
- refreshTokens
- resumeSession
- sanitizeUser
Constructors
constructor
+ new AccountsServer(options
: AccountsServerOptions‹CustomUser›, services
: object): AccountsServer
Defined in packages/server/src/accounts-server.ts:67
Parameters:
Name | Type |
---|---|
options | AccountsServerOptions‹CustomUser› |
services | object |
Returns: AccountsServer
Properties
options
• options: AccountsServerOptions‹CustomUser› & typeof defaultOptions
Defined in packages/server/src/accounts-server.ts:64
Methods
activateUser
▸ activateUser(userId
: string): Promise‹void›
Defined in packages/server/src/accounts-server.ts:596
description
Activate a user.
Parameters:
Name | Type | Description |
---|---|---|
userId | string | User id. |
Returns: Promise‹void›
- Return a Promise.
authenticateWithService
▸ authenticateWithService(serviceName
: string, params
: any, infos
: ConnectionInformations): Promise‹boolean›
Defined in packages/server/src/accounts-server.ts:133
description
Try to authenticate the user for a given service
throws
AuthenticateWithServiceErrors
Parameters:
Name | Type |
---|---|
serviceName | string |
params | any |
infos | ConnectionInformations |
Returns: Promise‹boolean›
createTokens
▸ createTokens(__namedParameters
: object): Promise‹Tokens›
Defined in packages/server/src/accounts-server.ts:423
description
Refresh a user token.
Parameters:
▪ __namedParameters: object
Name | Type | Default | Description |
---|---|---|---|
isImpersonated | boolean | false | Should be true if impersonating another user. |
token | string | - | User session token. |
user | CustomUser | - | The user object. |
Returns: Promise‹Tokens›
- Return a new accessToken and refreshToken.
deactivateUser
▸ deactivateUser(userId
: string): Promise‹void›
Defined in packages/server/src/accounts-server.ts:587
description
Deactivate a user, the user will not be able to login until his account is reactivated.
Parameters:
Name | Type | Description |
---|---|---|
userId | string | User id. |
Returns: Promise‹void›
- Return a Promise.
findSessionByAccessToken
▸ findSessionByAccessToken(accessToken
: string): Promise‹Session›
Defined in packages/server/src/accounts-server.ts:541
description
Find a session by his token.
throws
FindSessionByAccessTokenErrors
Parameters:
Name | Type |
---|---|
accessToken | string |
Returns: Promise‹Session›
- Return a session.
findUserById
▸ findUserById(userId
: string): Promise‹CustomUser | null›
Defined in packages/server/src/accounts-server.ts:578
description
Find a user by his id.
Parameters:
Name | Type | Description |
---|---|---|
userId | string | User id. |
Returns: Promise‹CustomUser | null›
- Return a user or null if not found.
getHooks
▸ getHooks(): Emittery
Defined in packages/server/src/accounts-server.ts:110
Returns: Emittery
getOptions
▸ getOptions(): AccountsServerOptions‹CustomUser›
Defined in packages/server/src/accounts-server.ts:106
Returns: AccountsServerOptions‹CustomUser›
getServices
▸ getServices(): object
Defined in packages/server/src/accounts-server.ts:102
Returns: object
- [ key: string]: AuthenticationService
impersonate
▸ impersonate(accessToken
: string, impersonated
: ImpersonationUserIdentity, infos
: ConnectionInformations): Promise‹ImpersonationResult›
Defined in packages/server/src/accounts-server.ts:266
description
Impersonate to another user.
For security reasons, even if useStatelessSession
is set to true the token will be checked against the database.
throws
LoginWithServiceErrors
Parameters:
Name | Type | Description |
---|---|---|
accessToken | string | User access token. |
impersonated | ImpersonationUserIdentity | impersonated user. |
infos | ConnectionInformations | User connection informations. |
Returns: Promise‹ImpersonationResult›
- ImpersonationResult
loginWithService
▸ loginWithService(serviceName
: string, params
: any, infos
: ConnectionInformations): Promise‹LoginResult›
Defined in packages/server/src/accounts-server.ts:180
throws
LoginWithServiceErrors
Parameters:
Name | Type |
---|---|
serviceName | string |
params | any |
infos | ConnectionInformations |
Returns: Promise‹LoginResult›
loginWithUser
▸ loginWithUser(user
: CustomUser, infos
: ConnectionInformations): Promise‹LoginResult›
Defined in packages/server/src/accounts-server.ts:235
description
Server use only.
This method creates a session without authenticating any user identity.
Any authentication should happen before calling this function.
Parameters:
Name | Type | Description |
---|---|---|
user | CustomUser | The user object. |
infos | ConnectionInformations | User's connection informations. |
Returns: Promise‹LoginResult›
- Session tokens and user object.
logout
▸ logout(accessToken
: string): Promise‹void›
Defined in packages/server/src/accounts-server.ts:458
description
Logout a user and invalidate his session.
throws
LogoutErrors
Parameters:
Name | Type | Description |
---|---|---|
accessToken | string | User access token. |
Returns: Promise‹void›
- Return a promise.
on
▸ on(eventName
: string, callback
: HookListener): function
Defined in packages/server/src/accounts-server.ts:123
Subscribe to an accounts-js event.
accountsServer.on(ServerHooks.ValidateLogin, ({ user }) => {
// This hook is called every time a user try to login
// You can use it to only allow users with verified email to login
});
Parameters:
Name | Type |
---|---|
eventName | string |
callback | HookListener |
Returns: function
▸ (): void
prepareMail
▸ prepareMail(to
: string, token
: string, user
: CustomUser, pathFragment
: string, emailTemplate
: EmailTemplateType, from
: string): any
Defined in packages/server/src/accounts-server.ts:600
Parameters:
Name | Type |
---|---|
to | string |
token | string |
user | CustomUser |
pathFragment | string |
emailTemplate | EmailTemplateType |
from | string |
Returns: any
refreshTokens
▸ refreshTokens(accessToken
: string, refreshToken
: string, infos
: ConnectionInformations): Promise‹LoginResult›
Defined in packages/server/src/accounts-server.ts:351
description
Refresh a user token.
throws
RefreshTokensErrors
Parameters:
Name | Type | Description |
---|---|---|
accessToken | string | User access token. |
refreshToken | string | User refresh token. |
infos | ConnectionInformations | User connection informations. |
Returns: Promise‹LoginResult›
- LoginResult.
resumeSession
▸ resumeSession(accessToken
: string): Promise‹CustomUser›
Defined in packages/server/src/accounts-server.ts:486
description
Resume the current session associated to the access token. Will throw if the token
or the session is invalid.
If useStatelessSession
is false the session validity will be checked against the database.
throws
ResumeSessionErrors
Parameters:
Name | Type | Description |
---|---|---|
accessToken | string | User JWT access token. |
Returns: Promise‹CustomUser›
Return the user associated to the session.
sanitizeUser
▸ sanitizeUser(user
: CustomUser): CustomUser
Defined in packages/server/src/accounts-server.ts:614
Parameters:
Name | Type |
---|---|
user | CustomUser |
Returns: CustomUser