SasTokenProvider Interface

public interface SasTokenProvider

Interface for allowing users to control SAS token generation. To see an example of how SAS tokens can be generated from device connection strings, see IotHubSasToken.

Method Summary

Modifier and Type Method and Description
abstract char[] getSasToken()

Returns a SAS token to be used for authentication.

Method Details

getSasToken

public abstract char[] getSasToken()

Returns a SAS token to be used for authentication.

This function will be called each time the client library needs a SAS token. This will follow different patterns based on which protocol your client object is using.

For HTTPS, this function will be called for each HTTPS request made (for instance, once per telemetry send), and does not need to be a unique token each time. Because of that, users may simply cache and return the same SAS token repeatedly here. Alternatively, users can generate very short-lived SAS tokens since they will only need to be valid for a relative short period of time. The user of this API is responsible for tracking when to renew the SAS token based on how long the previous token was valid for.

For AMQPS/AMQPS_WS, this function will be called once when first opening the connection, and then will be called again at some point prior to the previous SAS token's expiry time in order to proactively renew the connection's authentication. This proactive renewal takes place at around 85% of the previous SAS token's lifespan.

For MQTT/MQTT_WS, this function will be called once when first opening the connection, and again each time the previous SAS token has expired and the client closes and re-opens the connection. MQTT/MQTT_WS does not currently support proactive token renewal.

Returns:

a SAS token to be used for authentication.

Applies to