1
1
import base64url from "base64url" ;
2
2
import deepmerge from "lodash.merge" ;
3
- import log from "loglevel" ;
4
3
5
4
import { LOGIN_TYPE , UX_MODE_TYPE } from "../utils/enums" ;
6
5
import { fetchDataFromBroadcastServer } from "../utils/sessionHelper" ;
@@ -24,7 +23,8 @@ export default class WebAuthnHandler extends AbstractLoginHandler {
24
23
25
24
setFinalUrl ( ) : void {
26
25
const { passkeysHostUrl } = this . customState || { } ;
27
- const finalUrl = passkeysHostUrl ? new URL ( passkeysHostUrl ) : new URL ( "https://passkeys.web3auth.io" ) ;
26
+ if ( ! passkeysHostUrl ) throw new Error ( "Invalid passkeys url." ) ;
27
+ const finalUrl = new URL ( passkeysHostUrl ) ;
28
28
const clonedParams = JSON . parse ( JSON . stringify ( this . jwtParams || { } ) ) ;
29
29
const finalJwtParams = deepmerge (
30
30
{
@@ -37,15 +37,13 @@ export default class WebAuthnHandler extends AbstractLoginHandler {
37
37
Object . keys ( finalJwtParams ) . forEach ( ( key ) => {
38
38
if ( finalJwtParams [ key ] ) finalUrl . searchParams . append ( key , finalJwtParams [ key ] ) ;
39
39
} ) ;
40
- log . info ( "final url" , finalUrl ) ;
41
40
this . finalURL = finalUrl ;
42
41
}
43
42
44
- async getUserInfo ( parameters : LoginWindowResponse ) : Promise < TorusVerifierResponse > {
43
+ async getUserInfo ( parameters : LoginWindowResponse , storageServerUrl ?: string ) : Promise < TorusVerifierResponse > {
45
44
const { idToken, extraParams } = parameters ;
46
45
47
46
const { sessionId } = JSON . parse ( base64url . decode ( extraParams ) ) || { } ;
48
- log . info ( "sessionId" , sessionId ) ;
49
47
if ( ! sessionId ) {
50
48
throw new Error ( "sessionId not found" ) ;
51
49
}
@@ -62,7 +60,7 @@ export default class WebAuthnHandler extends AbstractLoginHandler {
62
60
credId,
63
61
transports,
64
62
username,
65
- } = await fetchDataFromBroadcastServer < PasskeySessionData > ( sessionId ) ;
63
+ } = await fetchDataFromBroadcastServer < PasskeySessionData > ( sessionId , storageServerUrl ) ;
66
64
67
65
if ( signature !== idToken ) {
68
66
throw new Error ( "idtoken should be equal to signature" ) ;
0 commit comments