
Security News
/Company News
Socket Is Sponsoring Composer and Packagist
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.
@abpjs/account-pro
Advanced tools
ABP Framework Account Pro module for React - Translation of @volo/abp.ng.account
Enhanced authentication UI components for ABP Framework in React
@abpjs/account-pro provides enhanced authentication and account management components for ABP-based React applications. It extends the basic account module with advanced features like password reset, profile management, and personal settings.
This package is a React translation of the original @volo/abp.ng.account Angular package, bringing pro-level account management to React applications.
# Using npm
npm install @abpjs/account-pro
# Using yarn
yarn add @abpjs/account-pro
# Using pnpm
pnpm add @abpjs/account-pro
This package requires the following peer dependencies:
npm install @abpjs/core @abpjs/theme-shared @chakra-ui/react @emotion/react react-hook-form zod @hookform/resolvers react-icons
import {
LoginForm,
RegisterForm,
ForgotPasswordForm,
ResetPasswordForm,
ChangePasswordForm,
ManageProfile,
PersonalSettings
} from '@abpjs/account-pro';
import { Routes, Route } from 'react-router-dom';
function App() {
return (
<Routes>
<Route path="/login" element={<LoginForm />} />
<Route path="/register" element={<RegisterForm />} />
<Route path="/forgot-password" element={<ForgotPasswordForm />} />
<Route path="/reset-password" element={<ResetPasswordForm />} />
<Route path="/change-password" element={<ChangePasswordForm />} />
<Route path="/profile" element={<ManageProfile />} />
<Route path="/settings" element={<PersonalSettings />} />
</Routes>
);
}
import { LoginForm } from '@abpjs/account-pro';
function LoginPage() {
const handleSuccess = () => {
navigate('/dashboard');
};
return (
<div>
<h1>Welcome Back</h1>
<LoginForm onSuccess={handleSuccess} />
</div>
);
}
import { ForgotPasswordForm } from '@abpjs/account-pro';
function ForgotPasswordPage() {
return (
<div>
<h1>Forgot Password</h1>
<ForgotPasswordForm
onSuccess={() => console.log('Reset email sent!')}
/>
</div>
);
}
import { ChangePasswordForm } from '@abpjs/account-pro';
function ChangePasswordPage() {
return (
<div>
<h1>Change Password</h1>
<ChangePasswordForm
onSuccess={() => console.log('Password changed!')}
/>
</div>
);
}
Enhanced login form with username/email and password fields.
import { LoginForm } from '@abpjs/account-pro';
<LoginForm
onSuccess={() => navigate('/dashboard')}
onError={(error) => console.error(error)}
showRegisterLink={true}
showForgotPassword={true}
/>
User registration form with validation.
import { RegisterForm } from '@abpjs/account-pro';
<RegisterForm
onSuccess={() => navigate('/login')}
onError={(error) => console.error(error)}
/>
Request password reset via email.
import { ForgotPasswordForm } from '@abpjs/account-pro';
<ForgotPasswordForm
onSuccess={() => console.log('Email sent')}
onError={(error) => console.error(error)}
/>
Reset password using token from email.
import { ResetPasswordForm } from '@abpjs/account-pro';
<ResetPasswordForm
onSuccess={() => navigate('/login')}
onError={(error) => console.error(error)}
/>
Change password for authenticated users.
import { ChangePasswordForm } from '@abpjs/account-pro';
<ChangePasswordForm
onSuccess={() => console.log('Password changed')}
onError={(error) => console.error(error)}
/>
Profile management component.
import { ManageProfile } from '@abpjs/account-pro';
<ManageProfile
onProfileUpdated={(profile) => console.log('Updated:', profile)}
/>
User personal settings management.
import { PersonalSettings } from '@abpjs/account-pro';
<PersonalSettings />
Multi-tenant selection component.
import { TenantBox } from '@abpjs/account-pro';
<TenantBox
onTenantChange={(tenant) => console.log('Tenant changed:', tenant)}
/>
Hook for implementing OAuth2 resource owner password flow.
import { usePasswordFlow } from '@abpjs/account-pro';
function CustomLoginForm() {
const { login, isLoading, error } = usePasswordFlow();
const handleSubmit = async (data) => {
await login({
username: data.username,
password: data.password,
});
};
return (
<form onSubmit={handleSubmit}>
{/* Your custom form */}
</form>
);
}
Hook for account pro API operations.
import { useAccountProService } from '@abpjs/account-pro';
function MyComponent() {
const service = useAccountProService();
const handleForgotPassword = async (email: string) => {
await service.sendPasswordResetCode({ email });
};
const handleResetPassword = async (data) => {
await service.resetPassword({
userId: data.userId,
resetToken: data.token,
password: data.newPassword,
});
};
}
This package is part of the ABP React monorepo. Contributions are welcome!
LGPL-3.0 - See LICENSE for details.
FAQs
ABP Framework Account Pro module for React - Translation of @volo/abp.ng.account
The npm package @abpjs/account-pro receives a total of 31 weekly downloads. As such, @abpjs/account-pro popularity was classified as not popular.
We found that @abpjs/account-pro demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.

Research
/Security News
Benign-looking npm packages split malicious functionality across a dependency chain that deploys a cross-platform RAT targeting Alibaba developers.

Research
/Security News
Two Joyfill npm beta releases contain an import-time implant that uses blockchain transactions to retrieve a remote-access trojan.