Skip to content

Updating getAuthToken to return creation timestamp #884

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Oct 9, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions firebase-installations-interop/api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,17 @@ package com.google.firebase.installations {
ctor public InstallationTokenResult();
method @NonNull public static com.google.firebase.installations.InstallationTokenResult.Builder builder();
method @NonNull public abstract String getToken();
method @NonNull public abstract long getTokenExpirationInSecs();
method @NonNull public abstract long getTokenCreationTimestamp();
method @NonNull public abstract long getTokenExpirationTimestamp();
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder toBuilder();
}

public abstract static class InstallationTokenResult.Builder {
ctor public InstallationTokenResult.Builder();
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult build();
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setToken(@NonNull String);
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setTokenExpirationInSecs(long);
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setTokenCreationTimestamp(long);
method @NonNull public abstract com.google.firebase.installations.InstallationTokenResult.Builder setTokenExpirationTimestamp(long);
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,13 @@ public abstract class InstallationTokenResult {
* The amount of time, in seconds, before the auth-token expires for this Firebase Installation.
*/
@NonNull
public abstract long getTokenExpirationInSecs();
public abstract long getTokenExpirationTimestamp();

/**
* The amount of time, in seconds, when the auth-token was created for this Firebase Installation.
*/
@NonNull
public abstract long getTokenCreationTimestamp();

@NonNull
public abstract Builder toBuilder();
Expand All @@ -45,7 +51,10 @@ public abstract static class Builder {
public abstract Builder setToken(@NonNull String value);

@NonNull
public abstract Builder setTokenExpirationInSecs(long value);
public abstract Builder setTokenExpirationTimestamp(long value);

@NonNull
public abstract Builder setTokenCreationTimestamp(long value);

@NonNull
public abstract InstallationTokenResult build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -527,15 +527,17 @@ public void testGetAuthToken_multipleCallsForceRefresh_fetchedNewTokenTwice() th
(unused) ->
InstallationTokenResult.builder()
.setToken(TEST_AUTH_TOKEN_3)
.setTokenExpirationInSecs(TEST_TOKEN_EXPIRATION_TIMESTAMP)
.setTokenExpirationTimestamp(TEST_TOKEN_EXPIRATION_TIMESTAMP)
.setTokenCreationTimestamp(TEST_CREATION_TIMESTAMP_1)
.build()))
.doAnswer(
AdditionalAnswers.answersWithDelay(
500,
(unused) ->
InstallationTokenResult.builder()
.setToken(TEST_AUTH_TOKEN_4)
.setTokenExpirationInSecs(TEST_TOKEN_EXPIRATION_TIMESTAMP)
.setTokenExpirationTimestamp(TEST_TOKEN_EXPIRATION_TIMESTAMP)
.setTokenCreationTimestamp(TEST_CREATION_TIMESTAMP_1)
.build()))
.when(backendClientReturnsOk)
.generateAuthToken(anyString(), anyString(), anyString(), anyString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,15 @@ public final class FisAndroidTestConstants {
.setAuthToken(
InstallationTokenResult.builder()
.setToken(TEST_AUTH_TOKEN)
.setTokenExpirationInSecs(TEST_TOKEN_EXPIRATION_TIMESTAMP)
.setTokenExpirationTimestamp(TEST_TOKEN_EXPIRATION_TIMESTAMP)
.setTokenCreationTimestamp(TEST_CREATION_TIMESTAMP_1)
.build())
.build();

public static final InstallationTokenResult TEST_INSTALLATION_TOKEN_RESULT =
InstallationTokenResult.builder()
.setToken(TEST_AUTH_TOKEN_2)
.setTokenExpirationInSecs(TEST_TOKEN_EXPIRATION_TIMESTAMP)
.setTokenExpirationTimestamp(TEST_TOKEN_EXPIRATION_TIMESTAMP)
.setTokenCreationTimestamp(TEST_CREATION_TIMESTAMP_1)
.build();
}
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ private Void registerAndSaveFid(PersistedFidEntry persistedFidEntry)
.setRegistrationStatus(RegistrationStatus.REGISTERED)
.setAuthToken(installationResponse.getAuthToken().getToken())
.setRefreshToken(installationResponse.getRefreshToken())
.setExpiresInSecs(installationResponse.getAuthToken().getTokenExpirationInSecs())
.setExpiresInSecs(installationResponse.getAuthToken().getTokenExpirationTimestamp())
.setTokenCreationEpochInSecs(creationTime)
.build());

Expand Down Expand Up @@ -314,7 +314,7 @@ private InstallationTokenResult fetchAuthTokenFromServer(PersistedFidEntry persi
.setRegistrationStatus(RegistrationStatus.REGISTERED)
.setAuthToken(tokenResult.getToken())
.setRefreshToken(persistedFidEntry.getRefreshToken())
.setExpiresInSecs(tokenResult.getTokenExpirationInSecs())
.setExpiresInSecs(tokenResult.getTokenExpirationTimestamp())
.setTokenCreationEpochInSecs(creationTime)
.build());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ public boolean onStateReached(
resultTaskCompletionSource.setResult(
InstallationTokenResult.builder()
.setToken(persistedFidEntry.getAuthToken())
.setTokenExpirationInSecs(persistedFidEntry.getExpiresInSecs())
.setTokenExpirationTimestamp(persistedFidEntry.getExpiresInSecs())
.setTokenCreationTimestamp(persistedFidEntry.getTokenCreationEpochInSecs())
.build());
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ private InstallationResponse readCreateResponse(HttpsURLConnection conn) throws
if (key.equals("token")) {
installationTokenResult.setToken(reader.nextString());
} else if (key.equals("expiresIn")) {
installationTokenResult.setTokenExpirationInSecs(
installationTokenResult.setTokenExpirationTimestamp(
parseTokenExpirationTimestamp(reader.nextString()));
} else {
reader.skipValue();
Expand Down Expand Up @@ -308,7 +308,7 @@ private InstallationTokenResult readGenerateAuthTokenResponse(HttpsURLConnection
if (name.equals("token")) {
builder.setToken(reader.nextString());
} else if (name.equals("expiresIn")) {
builder.setTokenExpirationInSecs(parseTokenExpirationTimestamp(reader.nextString()));
builder.setTokenExpirationTimestamp(parseTokenExpirationTimestamp(reader.nextString()));
} else {
reader.skipValue();
}
Expand Down