Skip to main content
Version: 0.7.6

Overview

The @abpjs/core package provides the foundational infrastructure for ABP React applications. It includes authentication, configuration management, localization, permissions, REST services, and session management.

npm version

Installation

npm install @abpjs/core

Features

  • Authentication - OAuth2/OIDC support with oidc-client-ts
  • Configuration - ABP application configuration management
  • Localization - Multi-language support with dynamic resource loading
  • Permissions - Fine-grained permission checking
  • REST Service - Axios-based HTTP client with interceptors
  • Session Management - User session state handling

Main Exports

Hooks

HookDescription
useAuth()Authentication state and methods (login, logout, isAuthenticated)
useConfig()Access ABP application configuration
useDirection()RTL/LTR direction based on current language
useLocalization()Translation functions (t() and instant())
usePermission()Permission checking utilities
useProfile()User profile management
useRestService()HTTP client for API calls
useSession()Session state management

Services

ServiceDescription
ApplicationConfigurationServiceFetch ABP configuration from backend
ConfigServiceRuntime configuration state
ProfileServiceUser profile API operations
LocalizationServiceTranslation services
RestServiceHTTP client with ABP interceptors
LazyLoadServiceDynamic module/script loading

Redux Slices

SliceDescription
configSliceApplication configuration state
profileSliceUser profile state
sessionSliceSession and authentication state

Quick Example

import { useAuth, useLocalization, usePermission } from '@abpjs/core';

function MyComponent() {
const { isAuthenticated, login, logout } = useAuth();
const { t } = useLocalization();
const { hasPermission } = usePermission();

if (!isAuthenticated) {
return <button onClick={login}>{t('Login')}</button>;
}

return (
<div>
<h1>{t('Welcome')}</h1>
{hasPermission('AbpIdentity.Users') && (
<a href="/users">{t('ManageUsers')}</a>
)}
<button onClick={logout}>{t('Logout')}</button>
</div>
);
}

NPM Package

View on npm: @abpjs/core

Documentation