# svelte-oidc An Oidc Client Component for Svelte. [Try out the demo](https://darrelopry.com/svelte-oidc/) ## Getting Started Setup an OIDC Sever * https://www.ory.sh/ * https://www.keycloak.org/ * https://www.okta.com/ * http://auth0.com/ Get the authority and client_id `npm install @dopry/svelte-oidc` App.svelte ``` # App.svelte import { OidcContext, authError, authToken, idToken, isAuthenticated, isLoading, login, logout, userInfo, } from '@dopry/svelte-oidc';
isLoading: {$isLoading}
isAuthenticated: {$isAuthenticated}
authToken: {$authToken}
idToken: {$authToken}
userInfo: {JSON.stringify($userInfo, null, 2)}
authError: {$authError}
``` ## Docs ### Components * OidcContext - component to initiate the OIDC client. You only need one instance in your DOM tree at the root. Attributes: * authority - OIDC Authority/issuer/base url for .well-known/openid-configuration * client_id - OAuth ClientId * redirect_uri - default: window.location.href * post_logout_redirect_uri - override the default url that OIDC will redirect to after logout. default: window.location.href ### Functions * login(preseveRoute = true, callback_url = null) - begin a user login. * logout(logout_url = null) - logout a user. * refreshToken - function to refresh a token. ### Stores * isLoading - if true OIDC Context is still loading. * isAuthenticated - true if user is currently authenticated * authToken - api token * userInfo - the currently logged in user's info from OIDC * authError - the last authentication error. ### Constants * OIDC_CONTEXT_CALLBACK_URL, * OIDC_CONTEXT_CLIENT_PROMISE - key for the OIDC client in setContext/getContext. * OIDC_CONTEXT_LOGOUT_URL, ## Release **use semver** npm publish npm showcase:build npm showcase:publish