1.0.4 • Published 5 years ago
aka-keycloak-login v1.0.4
aka-keycloak-login
Install
npm install --save aka-keycloak-loginFeatures
- Define interface wrap for entity
- Define common dbcontext
- Define db connect hub
- Define base repository with repository patternInstall
- 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-loginHow 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 ssoUsing:
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 ssoUsing:
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) |
