react-oidc-js
TypeScript icon, indicating that this package has built-in type declarations

2.1.4 • Public • Published
import { ReactNode } from "react";
import { createUserManagerContext, useAuth } from "react-oidc-js";

const {
  Provider,
  handleAccessTokenExpired,
  getUser,
  removeUser,
  getUserWaitRefresh,
  axiosMiddle,
} = createUserManagerContext({
  onRefresh: async (user) => {
    const { postAuthV1PublicAuthConnectToken } = await import("../../services");
    const res = await postAuthV1PublicAuthConnectToken(
      {
        refreshToken: user?.refresh_token,
        grantType: "RefreshToken",
        clientSecret: __CLIENT_SECRET__,
        clientId: __CLIENT_ID__,
      },
      { deviceId: getDeviceId(), platform: "web" },
      {
        headers: {
          authorization: AUTHORIZATION,
        },
      }
    );

    return {
      access_token: res.accessToken || "",
      refresh_token: res.refreshToken || "",
      expires_in: res.expiresIn,
      token_type: res.tokenType || "",
    };
  },
  authority: "web.example.com",
  client_id: __CLIENT_ID__,
});

const UserManagerProvider = ({ children }: { children: ReactNode }) => {
  return <Provider>{children}</Provider>;
};

export {
  handleAccessTokenExpired,
  getUser,
  removeUser,
  getUserWaitRefresh,
  axiosMiddle,
  useAuth,
};

export default UserManagerProvider;

logger

import { Log } from "react-oidc-js/lib/utils/Log";
Log.logger = console;

Package Sidebar

Install

npm i react-oidc-js

Weekly Downloads

10

Version

2.1.4

License

MIT

Unpacked Size

172 kB

Total Files

104

Last publish

Collaborators

  • hosseinmdeveloper