Package Exports
- @medha-analytics/medha-one-access
- @medha-analytics/medha-one-access/package.json
Readme
@medha-analytics/medha-one-access
Angular library for Medha One Access admin dashboard functionality.
Installation
npm install @medha-analytics/medha-one-access
Requirements
- Angular 15 or higher
- Angular Material
- Angular CDK
- Material Icons font
Setup
1. Add Material Icons to your index.html
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
2. Import the module in your app
import { MedhaOneAccessModule } from '@medha-analytics/medha-one-access';
@NgModule({
imports: [
MedhaOneAccessModule.forRoot({
apiUrl: 'https://your-api-url.com/api',
secretKey: 'your-secret-key',
currentApplication: 'your-app-name',
// debugInterceptor: true // Optional - enables console logging for debugging
})
]
})
export class AppModule { }
3. Use the component in your template
<div style="height: 500px; width: 100%;"> <!-- Your container with desired dimensions -->
<medha-one-access
[apiUrl]="apiUrl"
[secretKey]="secretKey"
[currentApplication]="applicationName">
</medha-one-access>
</div>
Responsive Design
The component automatically fits both width and height to its parent container:
- Width: Auto-fits to 100% of parent container width
- Height: Auto-fits to 100% of parent container height
- Responsive: Adapts to any container size, no fixed dimensions
- Embeddable: Works seamlessly within any parent application layout
Authentication Approach
The library handles authentication automatically without HTTP interceptors:
- Self-contained authentication - All API calls include authentication headers automatically
- No interceptor conflicts - Does not interfere with your application's HTTP interceptors
- Isolated from host app - Your application's authentication remains completely separate
- Debug mode available - Set
debugInterceptor: true
to see authentication logs
Features
- User Management
- User Groups Management
- Access Rules Configuration
- Artifacts Management
- Hierarchical Organization Structure
- Role-based Access Control
- Configurable HTTP Authentication
Peer Dependencies
@angular/common
: >=15.0.0@angular/core
: >=15.0.0@angular/cdk
: >=15.0.0@angular/material
: >=15.0.0@angular/router
: >=15.0.0@angular/forms
: >=15.0.0crypto-js
: ^4.2.0
Troubleshooting
No More Interceptor Conflicts!
Version 1.1.0+ completely eliminates HTTP interceptor conflicts by using internal authentication:
- ✅ No conflicts with your existing interceptors
- ✅ No complex app.config.ts setup required
- ✅ Works perfectly with both module-based and standalone Angular applications
Debugging Authentication Issues
Enable debug mode to see authentication in action:
MedhaOneAccessModule.forRoot({
apiUrl: 'https://your-api-url.com/api',
secretKey: 'your-secret-key',
currentApplication: 'your-app-name',
debugInterceptor: true // Shows authentication logs
})
This will log:
- When authentication headers are added to requests
- Which endpoints are being called with authentication
- Any errors during token generation
Standalone Component Setup
For standalone Angular applications, simply configure in your app.config.ts
:
import { importProvidersFrom } from '@angular/core';
import { MedhaOneAccessModule } from '@medha-analytics/medha-one-access';
export const appConfig: ApplicationConfig = {
providers: [
// ... other providers
importProvidersFrom(
MedhaOneAccessModule.forRoot({
apiUrl: 'https://your-api-url.com/api',
secretKey: 'your-secret-key',
currentApplication: 'your-app-name'
})
)
]
};
No special HTTP client configuration needed!
License
MIT © Medha Analytics