Android - Срок действия пользовательских токенов Firebase истекает?

Я решил использоватьVolley и пройдите RESTful маршрут сFirebase так как их слушатели, кажется, зависают, когда нет подключения к интернету. По крайней мере, с Volley, он дает мне знать, если сетевой запрос не был успешным из-за подключения к интернету или нет.

Мне нужно знатьFirebaseUser аутентификационные токены истекают или нет. В моем приложении я разрешаю только аутентификацию Google и Facebook и использую следующий код, предполагая, что токен авторизации пользователя Firebase НЕ истекает:

private String authToken;

// Callbacks

public interface ApiCallbacks {
    public void onSuccess(JSONObject response);
    public void onError(String errorString);
}

private interface AuthTokenCallbacks {
    public void onAuthTokenSuccess();
    public void onAuthTokenError(String errorString);
}

// Request Helpers

private void getAuthToken(final AuthTokenCallbacks callbacks) {
    // Lazy instantiation
    if (authToken == null) {
        FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
        if (user == null) {
            callbacks.onAuthTokenError("Please log in");
        } else {
            user.getToken(false).addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
                @Override
                public void onComplete(@NonNull Task<GetTokenResult> task) {
                    if (task.isSuccessful()) {
                        authToken = task.getResult().getToken();
                        callbacks.onAuthTokenSuccess();
                    } else {
                        callbacks.onAuthTokenError("Please log in");
                    }
                }
            });
        }
    } else {
        callbacks.onAuthTokenSuccess();
    }
}

public void sendGetRequestTo(final String endpoint, final HashMap<String, String> arguments, final RequestQueue requestQueue, final String tag, final ApiCallbacks callbacks) {
    // Only execute get request if we have an auth token
    getAuthToken(new AuthTokenCallbacks() {
        @Override
        public void onAuthTokenSuccess() {
            final String requestUrl = getRequestUrlString(endpoint, arguments);
            JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, requestUrl, null, new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    callbacks.onSuccess(response);
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    callbacks.onError(error.toString());
                }
            });
            request.setTag(tag);
            requestQueue.add(request);
        }

        @Override
        public void onAuthTokenError(String errorString) {
            callbacks.onError("Please log in");
        }
    });
}

Это правильный способ сделать это? Мне просто нужно знать, иду ли я в правильном направлении, потому что я не хочу, чтобы в будущем возникали проблемы с истечением срока действия моих токенов аутентификации (если они это сделают).

РЕДАКТИРОВАТЬ

Я забыл упомянуть, что мойfinal String requestUrl = getRequestUrlString(endpoint, arguments); Метод в основном строит строку запроса URL сauth=authTokenString добавлен в конце моего URL.

Ответы на вопрос(1)

Ваш ответ на вопрос