MCPcopy Create free account
hub / github.com/Web3Auth/Auth / authHandler

Method authHandler

src/core/auth.ts:533–578  ·  view source on GitHub ↗
(url: string, dataObject: AuthRequestPayload, popupTimeout = 1000 * 10)

Source from the content-addressed store, hash-verified

531 }
532
533 private async authHandler(url: string, dataObject: AuthRequestPayload, popupTimeout = 1000 * 10): Promise<AuthFlowResult | null> {
534 const loginId = StorageManager.generateRandomSessionKey();
535 const recordId = generateRecordId();
536 await this.storeAuthPayload(loginId, dataObject);
537 const configParams: BaseLoginParams = {
538 loginId,
539 recordId,
540 sessionNamespace: this.options.sessionNamespace,
541 storageServerUrl: this.options.storageServerUrl,
542 loginSource: dataObject.params.loginSource,
543 };
544
545 if (this.options.uxMode === UX_MODE.REDIRECT) {
546 const loginUrl = constructURL({
547 baseURL: url,
548 hash: { b64Params: jsonToBase64(configParams) },
549 });
550 window.location.href = loginUrl;
551 return null;
552 }
553
554 const loginUrl = constructURL({
555 baseURL: url,
556 hash: { b64Params: jsonToBase64(configParams) },
557 });
558 const currentWindow = new PopupHandler({
559 url: loginUrl,
560 timeout: popupTimeout,
561 serverUrl: this.options.storageServerUrl,
562 socketUrl: this.options.sessionSocketUrl,
563 });
564
565 return new Promise((resolve, reject) => {
566 currentWindow.on("close", () => {
567 reject(LoginError.popupClosed());
568 });
569
570 currentWindow.listenOnChannel(loginId).then(resolve).catch(reject);
571
572 try {
573 currentWindow.open();
574 } catch (error) {
575 reject(error);
576 }
577 });
578 }
579}

Callers 5

loginMethod · 0.95
enableMFAMethod · 0.95
manageSocialFactorMethod · 0.95
addPasskeyFactorMethod · 0.95

Calls 6

storeAuthPayloadMethod · 0.95
listenOnChannelMethod · 0.95
openMethod · 0.95
generateRecordIdFunction · 0.90
jsonToBase64Function · 0.90
popupClosedMethod · 0.80

Tested by

no test coverage detected