# identity-auth-test

> ```shell $ npm install identity-auth-test ``` ### Usage Example This package must be wrapped by Provider from 'react-redux' pacakge.

Latest version **0.1.6** (published 2021-03-05) · 0 weekly downloads

## Install

```sh
npm install identity-auth-test
pnpm add identity-auth-test
yarn add identity-auth-test
bun add identity-auth-test
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.6 |
| Published | 2021-03-05 |
| First published | 2021-03-03 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 15 |
| Unpacked size | 17.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | namwon |

## Links

- npm: https://www.npmjs.com/package/identity-auth-test
- npm.io page: https://npm.io/package/identity-auth-test

## Dependencies (15)

- [react](https://npm.io/package/react.md) ^17.0.1
- [immutable](https://npm.io/package/immutable.md) ^4.0.0-rc.12
- [react-dom](https://npm.io/package/react-dom.md) ^17.0.1
- [redux-oidc](https://npm.io/package/redux-oidc.md) ^4.0.0-beta1
- [redux-saga](https://npm.io/package/redux-saga.md) ^1.1.3
- [typescript](https://npm.io/package/typescript.md) ^3.8.3
- [@types/node](https://npm.io/package/@types/node.md) ^12.20.4
- [oidc-client](https://npm.io/package/oidc-client.md) ^1.11.5
- [@types/react](https://npm.io/package/@types/react.md) ^16.14.4
- [react-scripts](https://npm.io/package/react-scripts.md) 4.0.3
- [@reduxjs/toolkit](https://npm.io/package/@reduxjs/toolkit.md) ^1.5.0
- [@types/react-dom](https://npm.io/package/@types/react-dom.md) ^16.9.11
- [react-router-dom](https://npm.io/package/react-router-dom.md) ^5.2.0
- [@types/react-redux](https://npm.io/package/@types/react-redux.md) ^7.1.16
- [@types/react-router-dom](https://npm.io/package/@types/react-router-dom.md) ^5.1.7

## Recent versions

- 0.1.6 (latest) — 2021-03-05
- 0.1.5 — 2021-03-05
- 0.1.4 — 2021-03-04
- 0.1.3 — 2021-03-04
- 0.1.2 — 2021-03-04
- 0.1.1 — 2021-03-03
- 0.1.0 — 2021-03-03

## README

## Identity - Auth - test
### Installation

```shell
$ npm install identity-auth-test
```
### Usage Example
This package must be wrapped by Provider from 'react-redux' pacakge.

index.ts
```typescript
import { 
  AuthProvider,
  UserManagerMaker, 
  LoadUser,
  AuthCallback, 
  SilentRenew, 
} from 'identity-auth-test';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import { Provider } from 'react-redux';

import { store } from 'yourreduxfile';
import AuthRoute from 'yourauthprovider'; // this can be created by 

const userManageConfig = {
  client_id: 'yourclientid',
  redirect_uri: 'yourredirecturi',
  post_logout_redirect_uri: 'yourpostlogouturi',
  response_type: 'code',
  scope: 'openid',
  authority: 'yourauthority',
  grantType: 'authorization_code',
  silent_redirect_uri: 'http://{yoururl}/silent_renew.html',
  automaticSilentRenew: true,
  filterProtocolClaims: true,
  revokeAccessTokenOnSignout: true,
  loadUserInfo: true,
  monitorSession: false
};

const userManager = UserManagerMaker(userManagerSample);

LoadUser(store, userManager);

const App = () => {
  const AuthProviderProps = { 
    store: store,
    userManager: userManager
  }

  const AuthCallbackProps = { 
    userManager: userManager,
    successURL: '/yourauthroute',
    errorURL: '/yourroute'
  }

  return (
    <Provider store={StoreMaker}>
      <BrowserRouter>
        <AuthProvider {...AuthProviderProps}>
          <Switch>
            <AuthRoute path="/yourauthroute"><YourAuthComponent /></AuthRoute>
            <Route path="/yourroute"><YourComponent /></Route>
            <Route path="/callback"><AuthCallback /></Route>
            <Route path="/silent_renew.html"><SilentRenew /></Route>
          </Switch>
        </AuthProvider>
      </BrowserRouter>
    </Provider>
  );
}

ReactDOM.render(
  <React.StrictMode>
    <Provider store={store}>
      <App />
    </Provider>
  </React.StrictMode>,
  document.getElementById('root')
);
```

Using StoreMaker
```typescript
import { StoreMaker } from 'identity-auth-test';

export const initialState = {
  ...
}
export const reducer = (state = initialState, action: any) => {
  ...
}
...
...
export const store = StoreMaker({ clientstore: reducers });
```

Using configureStore of @reduxjs/toolkit
 - Add 'redux-oidc/USER_FOUND' at 'ignoredActions' 
 - Add 'oidc.user' at 'ignoredPaths'
```typescript
import { StoreMaker } from 'identity-auth-test/lib';
...
export const store = configureStore({
  reducer: {
    oidc: AuthReducer
  },
  middleware: [
    ...getDefaultMiddleware({
      serializableCheck: {
        ignoredActions: ['redux-oidc/USER_FOUND', ...],
        ignoredPaths: ['oidc.user', ...],
      },
    }),
    ...middlewares,
  ],
  ...
});

```

---
_Source: https://npm.io/package/identity-auth-test · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
