File tree Expand file tree Collapse file tree 2 files changed +30
-13
lines changed Expand file tree Collapse file tree 2 files changed +30
-13
lines changed Original file line number Diff line number Diff line change 2222
2323But in your redirect page, you need to add following code to pass callback params to this app.
2424
25- ``` js
25+ ``` html
2626<script >
27+ // the origin is used for postMessage
28+ var origin = ' https://ringcentral.github.io' ;
2729 if (window .opener ) {
2830 // For normal popup login window
2931 window .opener .postMessage ({
3032 callbackUri: window .location .href ,
31- }, ' * ' );
33+ }, origin );
3234 }
3335 if (window .parent && window .parent !== window ) {
3436 if (window .name === ' SSOIframe' ) {
3537 // SSO login iframe
3638 window .parent .postMessage ({
3739 callbackUri,
38- }, ' * ' );
40+ }, origin );
3941 } else {
4042 // For hidden token refresh iframe
4143 window .parent .postMessage ({
4244 refreshCallbackUri: callbackUri,
43- }, ' * ' );
45+ },origin );
4446 }
4547 }
4648 </script >
Original file line number Diff line number Diff line change 11import url from 'url' ;
22
3+ const origins = [
4+ 'https://ringcentral.github.io' ,
5+ 'https://apps.ringcentral.com' ,
6+ ] ;
7+
8+ if ( origins . indexOf ( window . location . origin ) < 0 ) {
9+ origins . push ( window . location . origin ) ;
10+ }
11+
312export default class RedirectController {
413 constructor ( {
514 prefix,
@@ -20,9 +29,11 @@ export default class RedirectController {
2029
2130 try {
2231 if ( window . opener && window . opener . postMessage ) {
23- window . opener . postMessage ( {
24- callbackUri
25- } , '*' ) ;
32+ origins . forEach ( ( origin ) => {
33+ window . opener . postMessage ( {
34+ callbackUri
35+ } , origin ) ;
36+ } ) ;
2637 window . close ( ) ;
2738 }
2839 } catch ( e ) {
@@ -33,14 +44,18 @@ export default class RedirectController {
3344 if ( window . parent && window . parent !== window ) {
3445 if ( window . name === 'SSOIframe' ) {
3546 // SSO iframe
36- window . parent . postMessage ( {
37- callbackUri,
38- } , '*' ) ;
47+ origins . forEach ( ( origin ) => {
48+ window . parent . postMessage ( {
49+ callbackUri,
50+ } , origin ) ;
51+ } ) ;
3952 } else {
4053 // Hidden refresh iframe
41- window . parent . postMessage ( {
42- refreshCallbackUri : callbackUri ,
43- } , '*' ) ;
54+ origins . forEach ( ( origin ) => {
55+ window . parent . postMessage ( {
56+ refreshCallbackUri : callbackUri ,
57+ } , origin ) ;
58+ } ) ;
4459 }
4560 }
4661 } catch ( e ) {
You can’t perform that action at this time.
0 commit comments