# US 12,113,795 B2 · Systems and methods for providing software components as a service

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

- Number: US 12,113,795 B2
- Document ID: US12113795B2
- Status: Granted
- Kind: B2
- Application number: 17/563,554
- Filed: 2021-12-28
- Published: 2023-06-29
- Granted: 2024-10-08
- Earliest claimed: 2021-12-28
- Assignees: Atlassian Pty Ltd.; Atlassian US, Inc.
- Applicants: Atlassian Pty Ltd.; Atlassian Inc.
- Inventors: Jonathan George Katahanas; Abhinav Kishore; Tong Li
- Web page: https://patentgrep.com/patent/US12113795B2

## CPC

- H04L 63/102: {Entity profiles}
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 63/0807: {using tickets, e.g. Kerberos (cryptographic mechanisms or cryptographic arrangements for entity authentication using tickets or tokens H04L9/3213)}
- H04L 63/0815: {providing single-sign-on or federations}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/53: using third party service providers
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- G06F 40/166: Editing, e.g. inserting or deleting
- G06Q 10/06313: {Resource planning in a project environment}
- 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)
- 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

## Abstract

A computing architecture for providing a software component or feature of a first platform as a service to a second platform. An API request from a frontend of the second platform, including a user auth token providing access to the second platform, can be received by an authentication token proxy service that converts the user auth token into a user auth token of the first platform. With this token, subsequent API requests of a backend of the first platform from the frontend of the second platform can be served directly by the second platform.

## Claims

### Claim 1

A method of providing a software feature of a document collaboration platform as a service to a second platform, the method comprising:
receiving, at the document collaboration platform, a request from a client device to access the software feature from an instance of a frontend application of the second platform executing on the client device, the frontend application instance having:
rendered a graphical user interface;
received instructions to render in a frame of the graphical user interface an interface component associated with the software feature of the document collaboration platform; and
generated in response to the instructions, the request comprising a first authentication token having been presented by the frontend application instance to access the second platform;
identifying, by the document collaboration platform, a first user account of the document collaboration platform that is associated with a second user account of the second platform to which the first authentication token was issued;
determining, by the document collaboration platform, that the first user account is authorized to access the software feature; and
generating, by the document collaboration platform, a response to the second platform, the response comprising:
a resource location at the document collaboration platform and associated with the software feature; and
a second authentication token associated with the first user account and the document collaboration platform;
transmitting the response from the document collaboration platform to the second platform;
receiving at the document collaboration platform, a third request directed to the resource location, the third request comprising the second authentication token;
transmitting to the frontend application instance of the second platform, from the software feature, instructions to render the interface component; and
causing the interface component to be rendered, by the frontend application instance, in the frame of the graphical user interface.

### Claim 2 (depends on 1)

The method of claim 1, wherein the resource location comprises a URL.

### Claim 3 (depends on 1)

The method of claim 1, wherein the second authentication token is encrypted with a private key associated with the document collaboration platform.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first authentication token is encrypted with a private key associated with the second platform.

### Claim 5 (depends on 4)

The method of claim 4, further comprising decrypting the first authentication token with a private key associated with the document collaboration platform.

### Claim 6

A document collaboration platform comprising:
a memory allocation storing an executable asset; and
a processor allocation intercoupled with the memory allocation and configured to operate with the memory allocation and the executable asset to instantiate an instance of a backend application, the backend application instance providing server-side functionality of the document collaboration platform, the backend application instance configured to:
receive a request to access a graphical user interface component of a software feature of the document collaboration platform from a frontend application instance associated with a second platform and executing on a client device, the frontend application instance having:
presented a first authentication token to access the second platform;
received an instruction to render the graphical user interface component; and
generated the request with the first authentication token and transmitted the request to the backend application;
associate the first authentication token to a second authentication token issued in respect of the document collaboration platform;
determine whether the second authentication token is valid and issued to a user of the document collaboration platform;
determine that the user is permitted to access the software feature; and
causing to be rendered in a frame of the frontend application instance the graphical user interface component of the software feature by:
generating, by the document collaboration platform, a response to the frontend application instance, the response comprising:
a resource location at the document collaboration platform and associated with the graphical user interface component; and
the second authentication token;
transmitting, by the document collaboration platform to the frontend application instance, the response.

### Claim 7 (depends on 6)

The document collaboration platform of claim 6, wherein the first authentication token is encrypted.

### Claim 8 (depends on 7)

The document collaboration platform of claim 7, wherein the backend application instance is configured to decrypt the first authentication token prior to determining whether the first authentication token is associated with a user of the document collaboration platform.

### Claim 9 (depends on 6)

The document collaboration platform of claim 6, wherein the software feature comprises one of:
an authentication feature;
a documentation feature;
a media renderer feature;
a file management feature;
a project management feature; or
a data display feature.
