createAuthentication method

FutureOr<APIAuthentication> createAuthentication(
  1. APICredential credential,
  2. List<APIPermission> permissions, {
  3. Object? data,
  4. bool resumed = false,
})

Implementation

FutureOr<APIAuthentication> createAuthentication(
    APICredential credential, List<APIPermission> permissions,
    {Object? data, bool resumed = false}) {
  if (credential.token == null) {
    return _createAuthenticationImpl(credential, permissions, data, resumed);
  }

  return validateToken(APIToken(credential.username,
          token: credential.token, duration: tokenDuration))
      .resolveMapped((token) {
    if (token != null) {
      return APIAuthentication(token,
          permissions: permissions,
          data: data,
          resumed: resumed,
          credential: credential);
    }

    return _createAuthenticationImpl(credential, permissions, data, resumed);
  });
}