tryGetAuthUri function

Future<Uri?> tryGetAuthUri({
  1. String? deviceId,
  2. String? model,
})

Implementation

Future<Uri?> tryGetAuthUri({String? deviceId, String? model}) async {
  if (_hasInitializeAuth) {
    try {
      // request temporary credentials (request tokens)
      AuthorizationResponse response =
      await _auth!.requestTemporaryCredentials('oob');
      _credentials = response.credentials;

      // redirect to authorization page
      String uri =
      _auth!.getResourceOwnerAuthorizationURI(response.credentials.token);

      Uri authUri = Uri.parse(uri);

      // Form the deviceid and model parameters map.
      Map<String, String> extraParmeters = new Map<String, String>();
      extraParmeters.addAll(authUri.queryParameters);
      if (deviceId != null) {
        extraParmeters['deviceid'] = deviceId;
      }

      if (model != null) {
        extraParmeters['model'] = model;
      }

      return Uri.https(
          authUri.authority, authUri.pathSegments.join('/'), extraParmeters);
    } catch (err) {
      print('Oops! tryGetAuthUri() got error:' + err.toString());
      return null;
    }
  } else {
    print('Oops! Do initialAuth() first!');
    return null;
  }
}