Skip to Content
🎉 New release with new features and improvements! V0.0.2 Release →

Auth Service

The Auth Service provides methods for user authentication, account management, and password recovery.

Methods

login

Authenticates a user with email and password credentials.

await bshEngine.auth.login({ payload: { email: 'user@example.com', password: 'your-password' } });
PropertyTypeRequiredDescription
emailstringyesThe user’s email address
passwordstringyesThe user’s password

register

Registers a new user account.

await bshEngine.auth.register({ payload: { email: 'user@example.com', password: 'secure-password', profile: { firstName: 'John', lastName: 'Doe' }, roles: ['USER'] } });
PropertyTypeRequiredDescription
emailstringyesThe user’s email address
passwordstringyesThe user’s password
profileobjectnoUser profile data. This object is customizable; define any fields you want to include in a user’s profile
rolesstring[]yesArray of role names. Only public roles are allowed

refreshToken

Refreshes an expired access token using a refresh token.

await bshEngine.auth.refreshToken({ payload: { refresh: 'your-refresh-token' } });
PropertyTypeRequiredDescription
refreshstringyesThe refresh token to use for obtaining new access tokens

forgetPassword

Sends a password reset code to the user’s email address.

await bshEngine.auth.forgetPassword({ payload: { email: 'user@example.com' } });
PropertyTypeRequiredDescription
emailstringyesThe user’s email address where the reset code will be sent

resetPassword

Resets a user’s password using the reset code sent to their email.

await bshEngine.auth.resetPassword({ payload: { email: 'user@example.com', code: '123456', newPassword: 'new-secure-password' } });
PropertyTypeRequiredDescription
emailstringyesThe user’s email address
codestringyesThe reset code received via email
newPasswordstringyesThe new password to set

activateAccount

Activates a user account using the activation code sent to their email.

await bshEngine.auth.activateAccount({ payload: { email: 'user@example.com', code: '123456' } });
PropertyTypeRequiredDescription
emailstringyesThe user’s email address
codestringyesThe activation code received via email