# US 11,443,306 B2 · Third-party resource authorization

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,306 B2
- Document ID: US11443306B2
- Status: Granted
- Kind: B2
- Application number: 16/946,194
- Filed: 2020-06-09
- Published: 2021-12-09
- Granted: 2022-09-13
- Earliest claimed: 2020-06-09
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Dylan Shane Eirinberg; Matthew Colin Grantham; Patrick Mandia; David Whyte; William Wu
- Web page: https://patentgrep.com/patent/US11443306B2

## CPC

- G06Q 20/3821: {Electronic credentials}
- H04L 51/42: Mailbox-related aspects, e.g. synchronisation of mailboxes
- G06F 9/451: Execution arrangements for user interfaces
- G06Q 20/4014: {Identity check for transactions}
- H04L 9/321: {involving a third party or a trusted authority}
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 51/10: Multimedia information
- H04L 51/214: using selective forwarding
- H04L 51/48: Message addressing, e.g. address format or anonymous messages, aliases
- H04L 51/52: for supporting social networking services
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Aspects of the present disclosure involve a system and a method for performing operations comprising: receiving, by a messaging application, a request to access a third-party resource; in response to receiving the request, obtaining a user interface data corresponding to the third-party resource; generating, for display on a client device, a graphical user interface of the third-party resource based on the markup-language document; generating for display a menu with an option to authorize the third-party resource to access user data from the messaging application; and authorizing the third-party resource to access the user data from the messaging application in response to a user interaction with the menu.

## Claims

### Claim 1

A method comprising:
receiving, by a messaging application, a request to access a third-party resource;
in response to receiving the request, obtaining a user interface data corresponding to the third-party resource;
generating, for display on a client device, a graphical user interface of the third-party resource based on a markup-language document;
generating for display a menu with an option to authorize the third-party resource to access user data from the messaging application; and
authorizing the third-party resource to access the user data from the messaging application in response to a user interaction with the menu.

### Claim 2 (depends on 1)

The method of claim 1, wherein the interface data comprises a markup-language document, further comprising determining, by the messaging application, that the third-party resource lacks authorization to access the user data, wherein the menu is displayed on the client device in response to determining that the third-party resource lacks authorization to access the user data, wherein the menu is generated for display after the graphical user interface of the third-party resource has been displayed on the client device.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining that a threshold amount of time has elapsed since the graphical user interface has been generated for display on the client device; and
causing the menu to be generated for display in response to determining that the threshold amount of time has elapsed since the graphical user interface has been generated for display on the client device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the generating for display of the menu comprises:
sliding the menu up from a bottom of a screen of the client device, wherein the menu is presented on a bottom portion the screen and the graphical user interface of the third-party resource is presented on a top portion of the screen; and
reducing an opacity of the graphical user interface of the third-party resource that is displayed while the menu is displayed from a first level of opacity to a second level of opacity.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
receiving a user selection of the option to authorize the third-party resource to access the user data from the messaging application;
authorizing the third-party resource to access the user data from the messaging application;
removing the menu from the display in response to receiving the user selection of the option to authorize the third-party resource to access the user data from the messaging application; and
increasing the opacity of the graphical user interface of the third-party resource that is displayed from the second level of opacity to the first level of opacity.

### Claim 6 (depends on 1)

The method of claim 1,
wherein the menu includes a description of the user data associated with the user interaction.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining that the third-party resource has been unused for a threshold period of time; and
preventing the third-party resource from accessing the user data in response to determining that the third-party resource has been unused for a threshold period of time.

### Claim 8 (depends on 7)

The method of claim 7, wherein the third-party resource is authorized in accordance with an OAuth 2 framework.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
determining that the user data which the third-party resource requests access to includes an avatar of the user; and
in response to determining that the user data includes the avatar of the user, displaying an icon that includes the avatar of the user in the menu.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
determining that the avatar has not been previously generated for the user;
in response to determining that the avatar has not been previously generated for the user, displaying a representation of the third-party resource as the icon instead of the avatar.

### Claim 11 (depends on 1)

The method of claim 1, wherein the user data includes a two-dimensional avatar of the user, a three-dimensional avatar of the user, and a plurality of versions of an avatar of the user.

### Claim 12 (depends on 11)

The method of claim 11, wherein the user data further includes a name of the user, an abbreviated name of the user, payment information for the user, and third-party transaction information for the user.

### Claim 13 (depends on 1)

The method of claim 1, wherein the third-party resource comprises small-scale version of a third-party application, further comprising:
authorizing the third-party application separately from the small-scale version of the third-party application, wherein the third-party application is authorized to access a first type of user data from the messaging application, and wherein the small-scale version of the third-party application is authorized to access a second type of user data from the messaging application.

### Claim 14 (depends on 13)

The method of claim 13, wherein the first type of user data comprises a two-dimensional avatar of the user, and wherein the second type of user data comprises the two-dimensional avatar of the user, a three-dimensional avatar of the user, and a plurality of versions of an avatar of the user.

### Claim 15 (depends on 1)

The method of claim 1, further comprising:
generating for display, by the messaging application, a graphical user interface of the messaging application representing third-party resources that have been authorized to access the user data from the messaging application, the graphical user interface comprising a first portion that includes markup-language based third-party resources that have been authorized to access the user data, and the graphical user interface comprising a second portion that includes third-party applications that have been authorized to access the user data.

### Claim 16 (depends on 15)

The method of claim 15, wherein the first portion includes third-party games and small-scale versions of the third-party applications.

### Claim 17 (depends on 15)

The method of claim 15, further comprising ranking the third-party resources by recency of being authorized to access the user data, wherein the third-party resources are represented according to the ranking.

### Claim 18 (depends on 15)

The method of claim 15, further comprising receiving a user selection of an option to revoke authorization to a given one of the third-party resources from the graphical user interface of the messaging application.

### Claim 19

A system comprising: a processor configured to perform operations comprising:
receiving, by a messaging application, a request to access a third-party resource;
in response to receiving the request, obtaining a user interface data corresponding to the third-party resource;
generating, for display on a client device, a graphical user interface of the third-party resource based on a markup-language document;
generating for display a menu with an option to authorize the third-party resource to access user data from the messaging application; and
authorizing the third-party resource to access the user data from the messaging application in response to a user interaction with the menu.

### Claim 20

A non-transitory machine-readable storage medium that includes instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
receiving, by a messaging application, a request to access a third-party resource;
in response to receiving the request, obtaining a user interface data corresponding to the third-party resource;
generating, for display on a client device, a graphical user interface of the third-party resource based on a markup-language document;
generating for display a menu with an option to authorize the third-party resource to access user data from the messaging application; and
authorizing the third-party resource to access the user data from the messaging application in response to a user interaction with the menu.
