diff --git a/client/coral-embed/src/index.js b/client/coral-embed/src/index.js index 65e77ad1d..14de2756e 100644 --- a/client/coral-embed/src/index.js +++ b/client/coral-embed/src/index.js @@ -54,6 +54,12 @@ function configurePymParent(pymParent, opts) { pymParent.sendMessage('config', JSON.stringify(config)); } + pymParent.onMessage('coral-auth-changed', function(message) { + if (opts.onAuthChanged) { + opts.onAuthChanged(message ? JSON.parse(message) : null); + } + }); + // Sends config to the child pymParent.onMessage('getConfig', function() { sendConfig(opts || {}); diff --git a/client/coral-framework/actions/auth.js b/client/coral-framework/actions/auth.js index eaaee3034..614b87632 100644 --- a/client/coral-framework/actions/auth.js +++ b/client/coral-framework/actions/auth.js @@ -3,6 +3,7 @@ import bowser from 'bowser'; import * as actions from '../constants/auth'; import * as Storage from '../helpers/storage'; import coralApi, {base} from '../helpers/request'; +import pym from '../services/PymConnection'; import {resetWebsocket} from 'coral-framework/services/client'; import t from 'coral-framework/services/i18n'; @@ -284,6 +285,7 @@ export const logout = () => (dispatch) => { resetWebsocket(); dispatch({type: actions.LOGOUT}); + pym.sendMessage('coral-auth-changed'); }); }; @@ -315,6 +317,7 @@ export const checkLogin = () => (dispatch) => { resetWebsocket(); dispatch(checkLoginSuccess(result.user)); + pym.sendMessage('coral-auth-changed', JSON.stringify(result.user)); // Display create username dialog if necessary. if (result.user.canEditName && result.user.status !== 'BANNED') {