checkUrl method

bool checkUrl(
  1. Uri url
)
override

This will check if the current URL has authentication tokens.

Implementation

bool checkUrl(Uri url) {
  try {
    /*
     * If dropbox uses fragments instead of query parameters then swap convert
     * them to parameters so it is easier to parse. This also allows us to use
     * parameters if they don't use fragments.
     */
    if (url.hasFragment && !url.hasQuery) {
      url = url.replace(query: url.fragment);
    }

    if (url.host != redirectUri.host) return false;
    if (url.query.isEmpty) return false;
    if (!url.queryParameters.containsKey(authCodeKey)) return false;
    var code = url.queryParameters[authCodeKey];
    if (code?.isEmpty ?? true) return false;
    token = code;
    tokenType = url.queryParameters["token_type"] == 'bearer'
        ? 'Bearer'
        : url.queryParameters["token_type"];
    uid = url.queryParameters["uid"];
    foundAuthCode(code);
    return true;
  } catch (exception) {
    print(exception);
    return false;
  }
}