export default async function fetchSpaceUserToken()

in kotlin/app-homepage-react/client/src/app/service/spaceAuth.ts [6:28]


export default async function fetchSpaceUserToken(askForConsent: boolean = false, permissionScope: string = ""): Promise<UserTokenData | undefined> {
    // read more about getting user token in Space documentation:
    // https://www.jetbrains.com/help/space/application-homepage.html#getusertokenrequest-get-space-user-token

    const response = await new Promise((resolve) => {
        const channel = new MessageChannel();
        channel.port1.onmessage = e => resolve(e.data);
        window.parent.postMessage({
            type: "GetUserTokenRequest",
            permissionScope: permissionScope,
            askForConsent: askForConsent
        }, "*", [channel.port2]);
    }) as GetUserTokenResponse;

    if (response === null) {
        return undefined;
    }

    return {
        userToken: response.token,
        spaceServerUrl: response.serverUrl
    } as UserTokenData;
}