Skip to content
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

Add support for DC and flight SDK request parameters #2035

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.UUID;

/**
Expand All @@ -48,6 +49,8 @@ public abstract class TokenParameters {
private AccountRecord mAccountRecord;
private AuthenticationScheme mAuthenticationScheme;
private String mCorrelationId;
private String mDc;
private Map<String, String> mFlightParams;

protected TokenParameters(@NonNull final TokenParameters.Builder builder) {
mAccount = builder.mAccount;
Expand All @@ -56,6 +59,8 @@ protected TokenParameters(@NonNull final TokenParameters.Builder builder) {
mScopes = builder.mScopes;
mAuthenticationScheme = builder.mAuthenticationScheme;
mCorrelationId = builder.mCorrelationId;
mDc = builder.mDc;
mFlightParams = builder.mFlightParams;
}

/**
Expand Down Expand Up @@ -154,6 +159,24 @@ public String getCorrelationId() {
return mCorrelationId;
}

/**
* Optional DC parameter. If set, API requests will contain a DC query parameter with the
* respective value.
* @return
*/
public String getDc() {
return mDc;
}

/**
* Optional flight parameters. If set, API requests will contain the keys and values from the
* respective map set as query parameters.
* @return
*/
public Map<String, String> getFlightParameters() {
return mFlightParams;
}

/**
* TokenParameters builder
*
Expand All @@ -167,6 +190,8 @@ public static abstract class Builder<B extends TokenParameters.Builder<B>> {
private ClaimsRequest mClaimsRequest;
private AuthenticationScheme mAuthenticationScheme;
private String mCorrelationId;
private String mDc;
private Map<String, String> mFlightParams;

public B withAuthenticationScheme(@NonNull final AuthenticationScheme scheme) {
mAuthenticationScheme = scheme;
Expand Down Expand Up @@ -261,6 +286,16 @@ public B withCorrelationId(@NonNull final UUID correlationId) {
return self();
}

public B withDc(@NonNull final String dc) {
mDc = dc;
return self();
}

public B withFlightParameters(@NonNull final Map<String, String> flightParameters) {
mFlightParams = flightParameters;
return self();
}

public abstract B self();

public abstract TokenParameters build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,8 @@ public static InteractiveTokenCommandParameters createInteractiveTokenCommandPar
.handleNullTaskAffinity(configuration.isHandleNullTaskAffinityEnabled())
.powerOptCheckEnabled(configuration.isPowerOptCheckForEnabled())
.correlationId(parameters.getCorrelationId())
.dc(parameters.getDc())
.flightInformation(parameters.getFlightParameters())
.preferredAuthMethod(parameters.getPreferredAuthMethod())
.build();

Expand Down Expand Up @@ -249,6 +251,8 @@ public static SilentTokenCommandParameters createSilentTokenCommandParameters(
.scopes(new HashSet<>(parameters.getScopes()))
.powerOptCheckEnabled(configuration.isPowerOptCheckForEnabled())
.correlationId(parameters.getCorrelationId())
.dc(parameters.getDc())
.flightInformation(parameters.getFlightParameters())
.build();

return commandParameters;
Expand Down Expand Up @@ -289,6 +293,8 @@ public static DeviceCodeFlowCommandParameters createDeviceCodeFlowWithClaimsComm
.authority(authority)
.claimsRequestJson(claimsRequestJson)
.correlationId(parameters.getCorrelationId())
.dc(parameters.getDc())
.flightInformation(parameters.getFlightParameters())
.build();

return commandParameters;
Expand Down