PluginProbe
HubSpot All-In-One Marketing – Forms, Popups, Live Chat / 11.3.75
HubSpot All-In-One Marketing – Forms, Popups, Live Chat v11.3.75
11.3.75 11.3.73 11.3.71 11.3.70 11.3.69 11.3.64 11.3.65 11.3.62 11.3.61 11.3.56 11.3.58 11.0.31 11.0.52 11.0.54 11.0.56 11.0.58 11.0.7 11.1.10 11.1.11 11.1.13 11.1.14 11.1.15 11.1.2 11.1.20 11.1.21 All 73 releases
← All changes | scripts/iframe/useAppEmbedder.ts +21 -9 11.3.5611.3.75 View file →
@@ -26,9 +26,9 @@
26 26 requiresContentEmbedScope,
27 27 decryptError,
28 28 LeadinConfig,
29 29 } from '../constants/leadinConfig';
30 -import { fetchRefreshToken } from '../api/wordpressApiClient';
30 +import { fetchAccessToken } from '../api/wordpressApiClient';
31 31 import { App, AppIframe } from './constants';
32 32 import { messageMiddleware } from './messageMiddleware';
33 33 import { resizeWindow, useIframeNotRendered } from '../utils/iframe';
34 34
@@ -187,13 +187,13 @@
187 187 if (!IntegratedAppEmbedder) {
188 188 return;
189 189 }
190 190
191 - const createEmbedder = (refreshToken = '') => {
191 + const createEmbedder = (accessToken = '', expiresIn = 0) => {
192 192 const options = getAppOptions(app, createRoute)
193 193 .setLocale(locale)
194 194 .setDeviceId(deviceId)
195 - .setRefreshToken(refreshToken)
195 + .setAccessToken(accessToken, expiresIn)
196 196 .setLeadinConfig(getLeadinConfig());
197 197
198 198 const embedder = new IntegratedAppEmbedder(
199 199 AppIframe[app],
@@ -199,12 +199,16 @@
199 199 AppIframe[app],
200 200 portalId,
201 201 hubspotBaseUrl,
202 202 resizeWindow,
203 - refreshToken ? '' : impactLink
203 + accessToken ? '' : impactLink
204 204 ).setOptions(options);
205 205
206 - embedder.subscribe(messageMiddleware(embedder));
206 + embedder.subscribe((message: any) => {
207 + messageMiddleware(embedder)(message);
208 + });
209 + embedder.setTokenRenewalCallback(fetchAccessToken);
210 +
207 211 embedder.attachTo(container, true);
208 212 embedder.postStartAppMessage(); // lets the app know all all data has been passed to it
209 213
210 214 (window as any).embedder = embedder;
@@ -210,12 +214,20 @@
210 214 (window as any).embedder = embedder;
211 215 };
212 216
213 217 if (connectionStatus === 'Connected') {
214 - fetchRefreshToken()
215 - .then(({ refreshToken }: { refreshToken: string }) => {
216 - createEmbedder(refreshToken);
217 - })
218 + fetchAccessToken()
219 + .then(
220 + ({
221 + accessToken,
222 + expiresIn,
223 + }: {
224 + accessToken: string;
225 + expiresIn: number;
226 + }) => {
227 + createEmbedder(accessToken, expiresIn);
228 + }
229 + )
218 230 .catch(() => {});
219 231 } else {
220 232 createEmbedder();
221 233 }