IP Library Granted Patent US 8,291,475
Granted Patent B2
US 8,291,475 · App. 12/112,800 · Granted Oct 16, 2012

Secure cross-domain communication for web mashups

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,291,475
App. No.
12/112,800
Granted
Oct 16, 2012
Kind
B2
Abstract

A secure cross-domain communication system and method for facilitating secure communication between a website having a web mashup and websites having content that is to be placed on the web mashup. Embodiments of the system and method set the document domain variable of the mashup website and the websites to facilitate the secure communication. Mediator frames are used as an intermediary between a top frame (containing the web mashup) and untrusted frames (containing the website content to be included in the mashup). The type of setup technique used is dependent on the number of websites being used in the mashup. Once the secure communication is established, data exchange between the top frame and the untrusted frame is dependent on the types of services that that the browser supports.

Claims (42)

1. A method for communicating between a website and an untrusted website to create a web mashup on the website, comprising:

setting a domain property of the website and a domain property of the untrusted website to a same document domain to allow direct communication between the untrusted website and the website;

creating a mediator frame that points to a page on the website;

creating an untrusted frame that points to a throwaway sub-domain; and

passing data between the website using the mediator frame and the untrusted website using the untrusted frame to create the web mashup on the website.

2. The method of claim 1 , further comprising:

determining that the web mashup uses a single website that is the untrusted website; and

using script to create an HTML script tag and appending the HTML script tag to a document in the throwaway sub-domain.

3. A method for communicating between a website and an untrusted website to create a web mashup on the website, comprising setting a document domain variable of a mediator frame that points to a page on the website and an untrusted frame that points to a throwaway sub-domain to a same document domain to allow the mediator frame and the untrusted frame to communicate directly and pass data from the untrusted website to the website and create the web mashup on the website.

4. The method of claim 1 , further comprising:

determining that the web mashup uses multiple websites such that the untrusted website includes the multiple websites; and

determining which type of domain frame access a browser of the website uses.

5. A method for communicating between a website and at least one untrusted website to create a web mashup on the website, comprising:

creating a mediator frame for each untrusted website;

creating an untrusted frame inside each of the mediator frames; and

setting a domain property of the mediator frame and a domain property of the untrusted frame to a same document domain to allow the mediator frame and the untrusted frame to communicate directly and pass data from the untrusted website to the website and create the web mashup on the website.

6. The method of claim 5 , further comprising:

determining that a browser uses a restrictive domain frame access;

setting a document domain variable of each of the mediator frames and each of the untrusted frames such that the mediator frames and the untrusted frames have the same document domain to allow the mediator frames and the untrusted frames to communicate directly; and

passing arbitrary script data between a top frame and each of the untrusted frames.

7. The method of claim 4 , further comprising

determining that the browser uses a permissive domain frame access.

8. The method of claim 7 , further comprising:

creating the untrusted frame inside a top frame such that the mediator frame and the untrusted frame are siblings;

adding an access frame inside the untrusted frame; and

using the access frame to obtain a “container” script object from the untrusted frame.

9. The method of claim 8 , further comprising:

setting a document domain variable of the mediator frame and the access frame such that the mediator frame and the access frame have the same document domain to allow the mediator frame and the access frame to communicate directly;

placing a script communication object in the “container” script object that the access frame shares with the untrusted frame;

using the untrusted frame to dispose of the access frame; and

using the script communication object in the untrusted frame to communicate with the top frame.

10. The method of claim 9 , further comprising:

disposing of the mediator frame.

11. The method of claim 1 , further comprising:

determining which type of domain code authorization a browser on the website uses; and

exchanging data between the website and the untrusted website based on the type of domain code authorization of the browser.

12. The method of claim 11 , further comprising:

determining that the browser uses a static type of domain code authorization; and

using a callback technique or a polling technique to exchange data between the website and the untrusted website.

13. The method of claim 11 , further comprising:

determining that the browser uses a dynamic type of domain code authorization; and

using a polling technique to exchange data between the website and the untrusted website.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2008
From: JACKSON, COLLIN; WANG, JIAHE
To: MICROSOFT CORPORATION
Reel/Frame 021337/0632 →
Continuity (1)
Related Publication 20090276835A1 · Nov 5, 2009