func getSkypetoken()

in sdk/communication/AzureCommunicationChat/Source/Signaling/CommunicationSignalingClient.swift [225:251]


    func getSkypetoken(_ forceRefresh: Bool) -> String! {
        if forceRefresh {
            tokenRetries += 1

            // We have to return the token but don't attempt to refresh again
            // Pass true to the callback to signal that we should stop the connection
            if tokenRetries > maxTokenRetries {
                tokenRefreshHandler(true, nil)
                return token
            }

            // Fetch new token
            credential.token { token, error in
                // Let callback know we are attempting to refresh
                self.tokenRefreshHandler(false, error)
                guard let newToken = token?.token else {
                    return
                }
                // Cache the new token
                self.token = newToken
            }
        } else {
            tokenRetries = 0
        }

        return token
    }