@wink-inc/wink-id
v0.2.11
Published
A lightweight JavaScript client to integrate **Wink Login**, manage authentication flows, and fetch user profile information.
Downloads
455
Readme
Wink ID
A lightweight JavaScript client to integrate Wink Login, manage authentication flows, and fetch user profile information.
CDNs
<!-- jsdelivr -->
<script src="https://cdn.jsdelivr.net/npm/@wink-inc/[email protected]/dist/wink-id.umd.min.js"></script>
<!-- unpack -->
<script src="https://unpkg.com/@wink-inc/[email protected]/dist/wink-id.umd.js"></script>Installation
npm install @wink-inc/wink-idor
yarn add @wink-inc/wink-idor
pnpm add @wink-inc/wink-idImport
import { getWinkLoginClient } from "@wink-inc/wink-id";API Overview
Core Methods
| Method | Description |
|--------------------------------------------------------|---------------------------------------------------------------------|
| getParsed(): WinkIdToken \| null | Returns the parsed Wink token if available. |
| getUser(): Promise<WinkUserProfile \| null> | Fetches the authenticated user's profile. |
| winkInit(params?: WinkInitParams): Promise<void> | Initializes the Wink login system, performs SSO checks, and fires callbacks. |
| winkLogin(params?: WinkLoginParams): Promise<void> | Starts the Wink authentication/login flow. |
| winkLogout(params?: WinkLogoutParams): Promise<void> | Logs the user out. |
Properties
| Property | Description |
|------------------------|----------------------------------|
| winkSessionId?: string | Current session ID (optional). |
| token?: string | Access token (optional). |
| idToken?: string | ID token returned by Wink. |
| refreshToken?: string | Token used to refresh sessions. |
Usage
1. Create Wink Login Client
const config = {
clientId: "__client_id__",
realm: "__realm__",
loggingEnabled: true,
cancelUrl: "http://localhost:3000/callback",
onAuthErrorFailure: (error) => console.error(error),
};
const winkLoginClient = getWinkLoginClient(config);2. Initialize Wink Login
Default silent check page:
/silent-check-sso.htmlOverride:
winkLoginClient.winkInit({
silentCheckSsoRedirectUri:
"http://localhost:3000/silent-check-sso.html",
onFailure(error) {
console.error(error);
},
async onSuccess() {
const user = await winkLoginClient.getUser();
console.log("user", user);
},
});3. Trigger Login
winkLoginClient.winkLogin({
onFailure(error) {
console.error(error);
},
});4. Trigger Logout
winkLoginClient.winkLogout({
onFailure(error) {
console.error(error);
},
});Silent Check SSO File
Create silent-check-sso.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Wink Silent Check</title>
</head>
<body>
<script>
window.parent.postMessage(location.href, location.origin);
</script>
</body>
</html>License
This project is private and not licensed for public use, distribution, or modification.
