0.1.17 • Published 1 year ago
vue3-oidc v0.1.17
📦 Install
pnpm i vue3-oidcRunning the Server Sample
$ cd example/server
$ npm install
$ npm run buildRunning the Client Sample
$ cd example/client
$ npm install
$ npm run dev
Getting Started
Configure the library by wrapping your application in createOidc and your initialization application when run createOidc:
//main.ts
import { createApp } from "vue";
import App from "./App.vue";
import "./oidc";
import router from "./router";
const app = createApp(App);
app.use(router);
app.mount("#app");//oidc.ts
import type { VueOidcSettings } from "vue3-oidc";
import { createOidc, useOidcStore } from "vue3-oidc";
import { unref } from "vue";
const { state } = useOidcStore();
const oidcSettings: VueOidcSettings = {
  authority: "http://localhost:4000",
  scope: "openid",
  client_id: "your client id",
  client_secret: "your client secret",
  redirect_uri: origin + "/oidc-callback",
  response_type: "code",
  loadUserInfo: true,
  onSigninRedirectCallback(user) {
    console.log(user);
    location.href = unref(state).redirect_uri || "/";
  },
};
createOidc({
  oidcSettings: oidcSettings, //your oidc settings
  auth: true, //if auth is true,will auto authenticate
  events: {}, //your oidc customization callback events
  refreshToken: {
    enable: true,
    time: 30000,
  },
});API
- useOidcStore
//type
import type { UserProfile } from "oidc-client-ts";
function useOidcStore<T>(): {
  state: ComputedRef<OidcState<T>>;
  actions: ComputedRef<OidcActions>;
};
interface OidcState<T = UserProfile> {
  oidcSettings: MaybeNull<VueOidcSettings>;
  userManager: MaybeNull<UserManager>;
  refreshUserManager: MaybeNull<UserManager>;
  user: MaybeNull<OidcUser<T>>;
  token: ComputedRef<string | null>;
  hasExpiresAt: ComputedRef<boolean>;
  redirect_uri: string;
}
interface OidcActions {
  setUser(user: User): void;
  removeUser(): void;
}
type OidcUser<T = UserProfile> = User & {
  profile: UseUserProfile<T>;
};
type UseUserProfile<T = UserProfile> = T;- useAuth
//type
function useAuth(): {
  autoAuthenticate: typeof autoAuthenticate;
  signinRedirect: typeof signinRedirect;
  signoutRedirect: typeof signoutRedirect;
  refreshToken: typeof refreshToken;
};
//autoAuthenticate - will try to authenticate the user silently
function autoAuthenticate(): Promise<void>;
//signin callback
function signinRedirect(arg?: SigninRedirectArgs): void;
//signout callback
function signoutRedirect(arg?: SignoutRedirectArgs): void;
//refresh token
function refreshToken(
  arg?: SigninSilentArgs,
  success?: (user: User | null) => void | Promise<void>,
  fail?: (err: any) => void | Promise<void>
): void;0.1.16
1 year ago
0.1.17
1 year ago
0.1.11
2 years ago
0.1.12
2 years ago
0.1.13
2 years ago
0.1.14
2 years ago
0.1.15
2 years ago
0.1.10
3 years ago
0.1.8
3 years ago
0.1.7
3 years ago
0.1.9
3 years ago
0.1.4
3 years ago
0.1.5
3 years ago
0.1.3
3 years ago
0.1.2
3 years ago
0.1.1
3 years ago
0.1.0
3 years ago
0.0.12
3 years ago
0.0.11
3 years ago
0.0.10
3 years ago
0.0.9
3 years ago
0.0.8
3 years ago
0.0.7
3 years ago
0.0.6
3 years ago
0.0.5
3 years ago
0.0.4
3 years ago
0.0.3
3 years ago
0.0.2
3 years ago
0.0.1
3 years ago