@realcommerce/rc-utils
v1.0.16
Published
A collection of UI components / directives / pipes
Downloads
8
Readme
##rcUtils package
A collection of UI components / directives / pipes
Install
npm i @realcommerce/rc-utils --save
Api
import { RcUiModule } from '@realcommerce/rc-utils';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
RcUtilsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Services
rc-auth.service
makes the calls to the server and saves the token to the storage you should inject the environemt with the baseUrl field ie: ###Example
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
RcUtilsModule
],
providers: [{ provide: 'ENVIRONMENT', useValue: environment },
....
],
bootstrap: [AppComponent]
})
environment.ts :
export const environment = {
baseUrl: 'http://localhost:xxx/',
};
then you can inject and use it, note that it is used by rc-login (check rc-login documentation) so you can just use the rc login for the default implementation.
the endpoints in the server should have the following signature (if needed):
api.post(this.authUrl + '/Login', { username, password, recaptchaToken }) api.post(this.authUrl + '/OTPSend', { username: username, phoneNumber, recaptchaToken }) api.post(this.authUrl + GenerateToken`, userClaims); api.get(this.authUrl + '/RefreshToken', headers: new HttpHeaders().set('refreshToken', refreshToken) })
Interceptors
jwt.interceptor
adds bearer token to each request, caches the request in case of 401 to try to refresh the token, then if the refresh succeded - processes the cached request again. if you want to use it you should provide the interceptor ie:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
RcUtilsModule
],
providers: [{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },
....
],
bootstrap: [AppComponent]
})
###Example
Authors
Zion Ben Yacov, Yacov Barboi