Systems and methods for providing software components as a service
AssigneesAtlassian Pty Ltd., Atlassian US, Inc.
InventorsJonathan George Katahanas, Abhinav Kishore, Tong Li
Life of this patent
Estimating the term…
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.
Claims9
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.
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.
Dependencies are inferred from the claim text.