1.0.4 • Published 3 years ago
aka-keycloak-login v1.0.4
aka-keycloak-login
Install
npm install --save aka-keycloak-login
Features
- Define interface wrap for entity
- Define common dbcontext
- Define db connect hub
- Define base repository with repository pattern
Install
- Before install require packages:
npm install react@^16.12.0
npm install react-dom@^16.12.0
npm install react-redux@^7.1.3
npm install react-router-dom@^5.1.2
npm install redux@^4.0.5"
- Install aka-keycloak-login
npm install aka-keycloak-login
How it work
Safe router
- Require Redux reducers:
Authentication reducer: sso_login_authen_action
, payload: {path: string}
Authorization reducer: sso_login_author_action
, payload: {path: string, roles: string}
- Using:
import { SafeRoute } from "aka-keycloak-login";
<SafeRoute roles={"admin"} path={`/admin/credit-management`} component={() => import("./Admin/CreditManagement")} />
Keycloak SSO integrate
- Basic flow:
Initial basic flow:
* Check if token valid -> return by pass
* If token is expired -> refresh token
* If token not exist -> request login
* If has flag login request -> call resume check sso
Using:
import { initBasicFlow, enforceReload } from "aka-keycloak-login";
initBasicFlow().then(() => {enforceReload();}).catch();
- Resume flow:
Initial resume flow:
* Check if token valid -> return by pass
* If token is expired -> refresh token
* If token not exist -> return by pass
* If has flag login request -> call resume check sso
Using:
import { initResumeFlow, enforceReload } from "aka-keycloak-login";
initResumeFlow().then(() => {enforceReload();}).catch();
- Request login
import { login } from "aka-keycloak-login";
login().then().catch();
- Request logout
import { logout } from "aka-keycloak-login";
logout().then().catch();
- Request refresh token
import { refreshToken } from "aka-keycloak-login";
refreshToken().then().catch();
Options:
Env | Value | |
---|---|---|
REACT_APP_SSO_ON_LOAD | Default: check-sso ( check-sso | login-required ) | |
REACT_APP_SSO_URL | SSO URL | |
REACT_APP_SSO_REDIRECT_URI | Redirect URL after login | |
REACT_APP_SSO_REALM | SSO Realm | |
REACT_APP_SSO_CLIENT_ID | ClientId | |
REACT_APP_SSO_ENABLE_CORS | Default: false ( true | false ) |
REACT_APP_SSO_CHECK_LOGIN_INTERVAL | Default: 900 ( Integer ) | |
REACT_APP_SILENT_SSO_CHECK_REDIRECT_URI | Url of slient check SSO ( Required REACT_APP_SSO_ON_LOAD = check-sso) |