Search

US-12627650-B2 - Apparatuses, computer-implemented methods, and computer program products for provisioning embedded application access

US12627650B2US 12627650 B2US12627650 B2US 12627650B2US-12627650-B2

Abstract

Embodiments of the present disclosure provide improved embedding of an application within another application. Specifically, embodiments provide improved interoperability mechanisms supporting such embedding utilizing access to a storage access API. The storage access API in some embodiments provides a particular user-facing application access associated with a first application to particular shared cookie(s) or other data utilized to access functionality of an embedded application from within the user-facing application. Embodiments additionally or alternatively account for security barriers or security requirements of applications and/or supporting applications, for example browser applications, that facilitate the access to the embedded application from within the user-facing application associated with the user-accessed application by utilizing a credential-based access component.

Inventors

  • David Zhang
  • Corina Lawu
  • Robert Scott WEDELL
  • Jiangyue Zhu
  • Lyubo Marinov

Assignees

  • Atlassian Pty Ltd.

Dates

Publication Date
20260512
Application Date
20230929

Claims (20)

  1. 1 . An apparatus comprising at least one processor and at least one memory, the at least one memory having computer-coded instructions stored thereon that, in execution with the at least one processor, cause the apparatus to: determine that a storage access API associated with an embedded application is not accessible via a user-facing application associated with a user-accessed application; cause rendering, from within the user-facing application via an embedded interface, of a first user interface; cause rendering of a credential-based access component configured to receive user credentials associated with logging into the embedded application; receive, via the credential-based access component, authentication success data indicating successful authentication of the user credentials; cause rendering, via the credential-based access component or a second credential-based access component, of a second user interface comprising at least one interface element configured to permission access to the storage access API; receive access to the storage access API in response to user input with the at least one interface element via the credential-based access component; and cause re-loading of the embedded interface by accessing the storage access API to provide access to an embedded application functionality.
  2. 2 . The apparatus of claim 1 , wherein the second user interface causes, in response to second user input, rendering of a browser-prompted access request, wherein the access to the storage access API is received in response to third user input with the browser-prompted access request.
  3. 3 . The apparatus of claim 2 , wherein the browser-prompted access request is browser-specific based at least in part on a browser application utilized to produce the credential-based access component.
  4. 4 . The apparatus of claim 1 , the apparatus further caused to: initiate a request, from within the user-facing application, to access particular requested embedded application functionality associated with the embedded application, wherein the embedded interface is re-loaded to the particular requested embedded application functionality.
  5. 5 . The apparatus of claim 1 , wherein the credential-based access component is rendered in response to second user input with the first user interface, wherein the second user input indicates a request to initiate a process for granting access to the storage access API.
  6. 6 . The apparatus of claim 1 , the apparatus further caused to: determine that a login state associated with the embedded application is not logged in, wherein the apparatus causes rendering of the first user interface via the embedded interface in response to a determination that the login state associated with the embedded application is not logged in and the storage access API associated with an embedded application is not accessible via the user-facing application.
  7. 7 . The apparatus of claim 1 , the apparatus further caused to: receive, via the user-facing application, a second user input via the first user interface, the second user input associated with initiating the credential-based access component, wherein the apparatus initiates the credential-based access component in response to the second user input.
  8. 8 . The apparatus of claim 1 , wherein the apparatus automatically initiates the credential-based access component in response to a determination that the storage access API associated with the embedded application is not accessible via the user-facing application.
  9. 9 . The apparatus of claim 1 , the apparatus further caused to: receive, via the user-accessed application, a request to access the embedded application from within the user-facing application, wherein the apparatus performs a determination that the storage access API associated with the embedded application is not accessible via the user-facing application in response to receiving the request.
  10. 10 . The apparatus of claim 1 , the apparatus further caused to: automatically initiate a determination procedure that determines whether the user-accessed application has access to the storage access API associated with the embedded application.
  11. 11 . The apparatus of claim 1 , wherein the embedded interface comprises an iframe.
  12. 12 . The apparatus of claim 1 , wherein to receive access to the storage access API the apparatus at least is caused to: receive a post message transmitted from the credential-based access component via a browser application to the user-facing application.
  13. 13 . The apparatus of claim 1 , wherein to cause re-loading of the embedded interface by accessing the storage access API, the apparatus is caused to: retrieve, via the storage access API, a shared cookie associated with the embedded application, wherein the shared cookie is utilized to access the embedded application functionality via the embedded application.
  14. 14 . The apparatus of claim 1 , the apparatus further caused to: upon re-loading of the embedded interface, cause rendering via the embedded interface of at least one embedded application interface element associated with the embedded application, wherein the at least one embedded application interface element is configured based at least in part on at least one embedded application data object retrieved via the embedded application functionality.
  15. 15 . The apparatus of claim 14 , wherein the user-facing application causes rendering of an integrated interface comprising a first sub-interface and a second sub-interface, the first sub-interface comprising the embedded interface associated with the embedded application, and the second sub-interface comprising at least one user-accessed application interface element associated with user-accessed application functionality of the user-accessed application.
  16. 16 . A computer-implemented method comprising: determining that a storage access API associated with an embedded application is not accessible via a user-facing application associated with a user-accessed application; causing rendering, from within the user-facing application via an embedded interface, of a first user interface; in response to user interaction with at least one interface element of the first user interface, causing rendering of a credential-based access component configured to receive user credentials associated with logging into the embedded application; in response to submission of the user credentials, receiving, via the credential-based access component, authentication success data indicating successful authentication of the user credentials; causing rendering, via the credential-based access component or a second credential-based access component, of a second user interface comprising at least one interface element configured to permission access to the storage access API; receiving access to the storage access API in response to user input with the at least one interface element via the credential-based access component; and causing re-loading of the embedded interface by accessing the storage access API to provide access to an embedded application functionality.
  17. 17 . The computer-implemented method of claim 16 , wherein the second user interface causes, in response to second user input, rendering of a browser-prompted access request, wherein the access to the storage access API is received in response to third user input with the browser-prompted access request.
  18. 18 . The computer-implemented method of claim 17 , wherein the browser-prompted access request is browser-specific based at least in part on a browser application utilized to produce the credential-based access component.
  19. 19 . The computer-implemented method of claim 17 , further comprising: determining that a login state associated with the embedded application is not logged in, causing rendering of the first user interface via the embedded interface is in response to a determination that the login state associated with the embedded application is not logged in and the storage access API associated with an embedded application is not accessible via the user-facing application.
  20. 20 . A computer program product comprising at least one non-transitory computer-readable storage medium having computer program code stored thereon that, in execution with at least one processor, configures the at least one processor to: determine that a storage access API associated with an embedded application is not accessible within a user-facing application associated with a user-accessed application via an iframe rendered by a wrapper associated with the embedded application and an embedded interface; cause rendering, from within the user-facing application via the wrapper, of a first user interface; cause rendering, via the wrapper, of a credential-based access component configured to receive user credentials associated with logging into the embedded application; in response to submission of the user credentials, receive, via the credential-based access component, authentication success data indicating successful authentication of the user credentials; cause rendering, via the credential-based access component or a second credential-based access component, of a second user interface comprising at least one interface element configured to permission access to the storage access API; receive access to the storage access API in response to user input with the at least one interface element via the credential-based access component; and cause re-loading, via the wrapper, of the embedded interface by accessing the storage access API to provide access to an embedded application functionality.

Description

TECHNICAL FIELD Embodiments of the present disclosure generally relate to interoperability between applications, and specifically to enabling embedded access of an application via a storage access API data flow. BACKGROUND Discrete software applications are generally designed to enable specific features and functionality without regard to robust principles of data interoperability. Accordingly, discrete software applications are often designed to create and maintain dedicated data repositories that are configured to be populated and updated via specifically designed protocols. Such design implementations often result in “siloing” of software applications. Attempts to merge software applications, however, suffer from various difficulties due to the independent operation of such applications for data security and data storage access. Applicant has discovered various technical problems associated with conventional software application integration. Through applied effort, ingenuity, and innovation, Applicant has solved many of these identified problems by developing the embodiments of the present disclosure, which are described in detail below. BRIEF SUMMARY The appended claims serve as a summary of the disclosure. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced. FIG. 1 illustrates an example system within which embodiments of the present disclosure may operate. FIG. 2A illustrates a block diagram of an example apparatus supporting a user-accessed application accessing an embedded application in accordance with at least one embodiment of the present disclosure. FIG. 2B illustrates a block diagram of an example apparatus supporting a user-facing application corresponding to a user-accessed application in accordance with at least one embodiment of the present disclosure. FIG. 3 illustrates an example user interface supporting use of a storage access API for accessing an embedded application via a user-accessed application in accordance with at least one embodiment of the present disclosure. FIG. 4 illustrates a visualization of a data architecture that supports use of a storage access API for establishing a data-driven connection between a user-accessed application and an embedded application accessible via a user-facing application in accordance with at least one embodiment of the present disclosure. FIG. 5 illustrates a flowchart including example operations of a process for configuring access to a storage access API in accordance with at least one embodiment of the present disclosure. FIG. 6 illustrates a flowchart including additional example operations of a process for configuring access to a storage access API in accordance with at least one embodiment of the present disclosure. DETAILED DESCRIPTION Embodiments of the present disclosure now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the disclosure are shown. Indeed, embodiments of the disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout. Overview Software applications exist in a myriad of configurations and form-factors having varying levels of interoperability. For example, a software application may be developed having a particular set of features in mind, such that the software application is configured to perform an array of operations to support each feature of the set of desired features. In certain circumstances, it may be desirable to develop software applications that enable interactions with one or more other software applications. For example, a first software application may be designed to call, or retrieve data from, a second software application to accomplish various tasks or operations. Such interactions are especially useful in circumstances where the first software application and the second software application have a common owner, are provided in or otherwise part of a common software suite or tool kit, and/or otherwise where use of the second software application is to be incentivized. Efforts to achieve seamless software application interactions or true interoperability can create technical challenges and user experience issues. For example, if a second software application follows modern security protocols to avoid malicious, unintended, or otherwise unauthorized access, the first software application may have limited or no direct access to the second software application. Further, other security restrictions or configurations of the first software application or related supporting applications utilized for embedding of the seco