@web3auth/modal
Version:
Multi chain wallet aggregator for web3Auth
43 lines (40 loc) • 1.1 kB
JavaScript
import { WalletInitializationError } from '@web3auth/no-modal';
import { ref, watch } from 'vue';
import { useWeb3AuthInner } from './useWeb3AuthInner.js';
const useIdentityToken = () => {
const {
web3Auth,
isConnected
} = useWeb3AuthInner();
const loading = ref(false);
const error = ref(null);
const token = ref(null);
const getIdentityToken = async () => {
try {
if (!web3Auth.value) throw WalletInitializationError.notReady();
error.value = null;
loading.value = true;
const result = await web3Auth.value.getIdentityToken();
if (result !== null && result !== void 0 && result.idToken) {
token.value = result.idToken;
}
return result === null || result === void 0 ? void 0 : result.idToken;
} catch (err) {
error.value = err;
} finally {
loading.value = false;
}
};
watch(isConnected, newIsConnected => {
if (!newIsConnected && token.value) {
token.value = null;
}
});
return {
loading,
error,
token,
getIdentityToken
};
};
export { useIdentityToken };