Aspera

Aspera

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  Inquiry Regarding IBM Aspera On Cloud (AOC) Integration and SDK Selection

    Posted Fri December 26, 2025 07:21 AM

    Dear IBM Technical Support Team,

    We are planning to integrate IBM Aspera On Cloud (AOC) with our company Web Portal in an AWS environment.
    The primary goal is to enable simple file upload and download functionality using the FASP protocol from Aspera Client.
    Our development language is JavaScript, and we intend to embed this functionality directly into the Web Portal.

    Could you please provide guidance on the following:

    Q1). Which Aspera SDK should be embedded in the Web Portal for this use case?

    Q2). For JavaScript-based implementation, what SDK or API do you recommend?

    Q3). Are there any additional configuration steps or authentication methods (e.g., OAuth, API Key) required ?

    Thank you for your assistance, and we look forward to your guidance.

    Best regards,
    Sook.





    ------------------------------
    SookHyeong Lee
    ------------------------------


  • 2.  RE: Inquiry Regarding IBM Aspera On Cloud (AOC) Integration and SDK Selection

    Posted Mon December 29, 2025 09:34 PM

    Hi Sook,

    Here are some references

    IBM Aspera Javascript SDK

    https://github.com/IBM/aspera-sdk-js

    Use this SDK to allow a Web Application to interact with the IBM Aspera client application to enable uploads and downloads with FASP

    Your web application will need to authorize your clients to transfer with IBM Aspera Transfer Servers. You will add transfer server's to your Aspera on Cloud Admin in the Nodes and Storage section. Once you have a node, then your Web Application can call Aspera on Cloud APIs to generate Bearer tokens to allow clients to upload and download from your transfer server. Aspera on Cloud uses OAuth for its API access. Once your Web Application has authorized itself to Aspera on Cloud, your code can call an Aspera on Cloud endpoint to receive a Bearer Token that authorizes API calls and transfers to the transfer server. The transfer server permissions endpoints allow for fine grained access to storage.

    API documentation for an Aspera on Cloud Client using OAuth Server to Server flow.

    https://developer.ibm.com/apis/catalog/aspera--aspera-on-cloud-api/Authenticating+with+AoC

    https://developer.ibm.com/apis/catalog/aspera--aspera-on-cloud-api/Sending+a+Package+with+the+Aspera+on+Cloud+API

    API documentation for IBM Aspera High Speed Transfer Server permissions endpoint

    https://developer.ibm.com/apis/catalog/aspera--aspera-node-api/api/API--aspera--ibm-aspera-node-api-4-4#get169529982

    There is a tool that can be very helpful for learning the APIs.

    https://github.com/IBM/aspera-cli

    Use the --log-level=debug argument to see the requests and responses to the Aspera on Cloud APIs to help understand all the code flows required.

    thanks,

    Ben



    ------------------------------
    BEN FORSYTH
    ------------------------------



  • 3.  RE: Inquiry Regarding IBM Aspera On Cloud (AOC) Integration and SDK Selection

    Posted Wed December 31, 2025 05:03 AM

    Dear SookHyeong Lee,

    In addition to Ben's links and useful information:

    AoC is composed with 3 SaaS components:

    • Web portal and API: manages users, workspaces, groups, memberships, etc...
    • SaaS transfer servers (HSTS, called: ATS: Aspera Transfer Service)
    • Object Storage

    If you want to integrate upload/download in you own portal without using AoC users, but still manage your own users in an existing portal, and if you want to manage your own storage (e.g. AWS S3), then one simple way, at least you start with development quickly is to proceed like this:

    1- create a "Node" in AoC (Admin->Node and Storage->Nodes->Create->Attach Cloud Storage (doc)) : that gives a "node" with URL, access_key and secret (those are basic auth for node api)

    2- use the web SDK, as mentioned by Ben, code examples here: https://ibm.github.io/aspera-sdk-js/ : Do not use the "Connect SDK" and connect client, use the newer Aspera for Desktop app and its js lib.

    3- Your web portal works as a "broker", it gets requests from the user, and makes API calls on node API using above node credentials (access_key/secret)

    In this case, OAuth is not needed, as the node api is access directly.

    OAuth is required to access AoC's app API.

    You may look at the README (md and pdf) here: https://github.com/laurent-martin/aspera-api-examples/tree/main/doc for some details.

    This is scenario S3 in above document.

    Later, if you prefer to use the more complex file ids, and permissions, it's easy to change.

    So, a scenario when using your own storage, and users (not AoC's), but still using AoC's Transfer Service for FASP with Aspera for Desktop:

    • the user connects to your web portal (not aspera)
    • navigates to some part where upload/download is proposed.
    • For download the user selects some files in your UI, and clicks "download"
    • This triggers a request to your API, with the list of files to download
    • Your backend calls the node api (with access key/secret) /files/download_setup, this returns a "transfer spec" with token
    • This is sent-back (possibly with changes) to the user's web browser as response to "download" call
    • The web app (js) gives this transfer spec to "startTransfer" API of web SDK
    • This triggers the transfer

    Upload is similar, but a file selector must be started to select files (see examples in web SDK)

    I used to have full example here: https://github.com/laurent-martin/aspera-api-examples/tree/main/web/javascript-html

    but it is based on the former connect SDK, but the idea is the same.

    The browser-side part is always the same: get some transfer spec from portal (includes HSTS address and transfer authorization) and call the web SDK with that.

    The way to get the transfer spec varies on method and need, see the README mentioned above.

    There are also information in IBM Aspera API Hub



    ------------------------------
    Laurent Martin
    ------------------------------



  • 4.  RE: Inquiry Regarding IBM Aspera On Cloud (AOC) Integration and SDK Selection

    Posted Wed December 31, 2025 07:49 AM

    We implemented a similar AOC setup in a JavaScript-based web portal on AWS. The Aspera JavaScript SDK is the right choice, as it communicates with the locally installed Aspera client rather than embedding FASP directly in the browser. For authentication, OAuth via Aspera on Cloud APIs worked best for managing user-level access securely. One thing to watch is handling cases where the Aspera client isn't installed, as that impacts UX. We ran into the same challenge while working on a project at

    cpu vs gpu bottleneck , and planning this early helped a lot.



    ------------------------------
    Ayoub Murtaza
    ------------------------------