fix and update

This commit is contained in:
lendry
2026-06-29 14:40:35 +03:00
parent 75ccbe5fc4
commit 0df7240dc8
21 changed files with 934 additions and 113 deletions

View File

@@ -0,0 +1,35 @@
export const ONE_TAP_MESSAGE_TYPE = 'lendry-sso-onetap';
export function parsePopupOAuthParams(searchParams: URLSearchParams) {
const display = searchParams.get('display');
const popupOrigin = searchParams.get('popup_origin');
if (display !== 'popup' || !popupOrigin?.trim()) {
return null;
}
try {
return { popupOrigin: new URL(popupOrigin.trim()).origin };
} catch {
return null;
}
}
export function postOneTapResult(popupOrigin: string, payload: Record<string, unknown>) {
if (!window.opener) {
return false;
}
window.opener.postMessage({ type: ONE_TAP_MESSAGE_TYPE, ...payload }, popupOrigin);
window.close();
return true;
}
export function parseAuthorizationRedirect(redirectUrl: string) {
const url = new URL(redirectUrl);
return {
code: url.searchParams.get('code'),
state: url.searchParams.get('state'),
error: url.searchParams.get('error'),
errorDescription: url.searchParams.get('error_description')
};
}