UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

47 lines (43 loc) 1.24 kB
'use strict'; var react = require('react'); var useWeb3AuthInner = require('./useWeb3AuthInner.js'); const useIdentityToken = () => { const { web3Auth, isAuthorized } = useWeb3AuthInner.useWeb3AuthInner(); const [loading, setLoading] = react.useState(false); const [error, setError] = react.useState(null); const [token, setToken] = react.useState(null); const getIdentityToken = react.useCallback(async () => { setLoading(true); setError(null); try { const userAuthInfo = await web3Auth.getIdentityToken(); if (userAuthInfo !== null && userAuthInfo !== void 0 && userAuthInfo.idToken) { setToken(userAuthInfo.idToken); } return userAuthInfo === null || userAuthInfo === void 0 ? void 0 : userAuthInfo.idToken; } catch (error) { setError(error); } finally { setLoading(false); } }, [web3Auth]); react.useEffect(() => { if (!web3Auth) return; if (!isAuthorized && token) { setToken(null); } if (isAuthorized && !token) { setToken(web3Auth.idToken); } }, [isAuthorized, token, web3Auth]); return { loading, error, token, getIdentityToken }; }; exports.useIdentityToken = useIdentityToken;