Narnia's Psychedelic Mushrooms
    Wondering what’s next for npm?Check out our public roadmap! »

    @azure/communication-common
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    Azure Communication Common client library for JavaScript

    This package contains common code for Azure Communication Service libraries.

    Getting started

    Prerequisites

    Installing

    npm install @azure/communication-common

    Browser support

    JavaScript Bundle

    To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our bundling documentation.

    Key concepts

    CommunicationTokenCredential and AzureCommunicationTokenCredential

    A CommunicationTokenCredential authenticates a user with Communication Services, such as Chat or Calling. It optionally provides an auto-refresh mechanism to ensure a continuously stable authentication state during communications.

    It is up to you the developer to first create valid user tokens with the Azure Communication Administration library. Then you use these tokens to create a AzureCommunicationTokenCredential.

    CommunicationTokenCredential is only the interface, please always use the AzureCommunicationTokenCredential constructor to create a credential and take advantage of the built-in refresh logic.

    Examples

    Create a credential with a static token

    const tokenCredential = new AzureCommunicationTokenCredential(
      "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
    );

    Create a credential with a callback

    Here we assume that we have a function fetchTokenFromMyServerForUser that makes a network request to retrieve a token string for a user. We pass it into the credential to fetch a token for Bob from our own server. Our server would use the Azure Communication Administration library to issue tokens.

    const tokenCredential = new AzureCommunicationTokenCredential({
      tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com")
    });

    Create a credential with proactive refreshing

    Setting refreshProactively to true will call your tokenRefresher function when the token is close to expiry.

    const tokenCredential = new AzureCommunicationTokenCredential({
      tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
      refreshProactively: true
    });

    Create a credential with proactive refreshing and an initial token

    Passing initialToken is an optional optimization to skip the first call to tokenRefresher. You can use this to separate the boot from your application from subsequent token refresh cycles.

    const tokenCredential = new AzureCommunicationTokenCredential({
      tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
      refreshProactively: true,
      token:
        "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
    });

    Troubleshooting

    Next steps

    Contributing

    If you'd like to contribute to this library, please read the contributing guide to learn more about how to build and test the code.

    Related projects

    Impressions

    Install

    npm i @azure/communication-common

    DownloadsWeekly Downloads

    1,924

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    149 kB

    Total Files

    37

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar