Skip to content

Commit 76f578a

Browse files
authored
Add domainHint support to acquireTokenParameters, Fixes AB#3385486 (#2392)
[AB#3385486](https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3385486) This PR adds the domainHint parameters into acquireTokenParameters and has a dependency on AzureAD/microsoft-authentication-library-common-for-android#2792 DomainHint is added the SDK to streamline developer experience for Social IdP/Custom OIDC scenarios with MSAL SDK. Today developer can use extraQueryParameters as a alternative which required developer to type in "domain_hint".
1 parent e8ee2d0 commit 76f578a

File tree

3 files changed

+32
-2
lines changed

3 files changed

+32
-2
lines changed

common

Submodule common updated 37 files

msal/src/main/java/com/microsoft/identity/client/AcquireTokenParameters.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public class AcquireTokenParameters extends TokenParameters {
4141
private Activity mActivity;
4242
private Fragment mFragment;
4343
private String mLoginHint;
44+
private String mDomainHint;
4445
private Prompt mPrompt;
4546
private List<String> mExtraScopesToConsent;
4647
private List<Map.Entry<String, String>> mExtraQueryStringParameters;
@@ -53,6 +54,7 @@ public AcquireTokenParameters(AcquireTokenParameters.Builder builder) {
5354
mActivity = builder.mActivity;
5455
mFragment = builder.mFragment;
5556
mLoginHint = builder.mLoginHint;
57+
mDomainHint = builder.mDomainHint;
5658
mPreferredAuthMethod = builder.mPreferredAuthMethod;
5759
mPrompt = builder.mPrompt;
5860
mExtraScopesToConsent = builder.mExtraScopesToConsent;
@@ -92,6 +94,24 @@ void setLoginHint(String loginHint) {
9294
this.mLoginHint = loginHint;
9395
}
9496

97+
/**
98+
* Optional. Gets the domain hint sent along with the authorization request.
99+
*
100+
* @return
101+
*/
102+
public String getDomainHint() {
103+
return mDomainHint;
104+
}
105+
106+
/**
107+
* Sets the domain hint sent along with the authorization request.
108+
*
109+
* @param domainHint
110+
*/
111+
void setDomainHint(String domainHint) {
112+
this.mDomainHint = domainHint;
113+
}
114+
95115
/**
96116
* Gets the preferred authentication method sent along with the authorization request.
97117
* @return The preferred authentication method or null if not set.
@@ -152,7 +172,7 @@ public static class Builder extends TokenParameters.Builder<AcquireTokenParamete
152172
private Activity mActivity;
153173
private Fragment mFragment;
154174
private String mLoginHint;
155-
175+
private String mDomainHint;
156176
private PreferredAuthMethod mPreferredAuthMethod;
157177
private Prompt mPrompt;
158178
private List<String> mExtraScopesToConsent;
@@ -174,6 +194,11 @@ public AcquireTokenParameters.Builder withLoginHint(String loginHint) {
174194
return self();
175195
}
176196

197+
public AcquireTokenParameters.Builder withDomainHint(String domainHint) {
198+
mDomainHint = domainHint;
199+
return self();
200+
}
201+
177202
@Nullable
178203
public AcquireTokenParameters.Builder withPreferredAuthMethod(final PreferredAuthMethod preferredAuthMethod) {
179204
mPreferredAuthMethod = preferredAuthMethod;

msal/src/main/java/com/microsoft/identity/client/internal/CommandParametersAdapter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ public static InteractiveTokenCommandParameters createInteractiveTokenCommandPar
192192
parameters.getExtraQueryStringParameters(),
193193
configuration))
194194
.loginHint(getLoginHint(parameters))
195+
.domainHint(getDomainHint(parameters))
195196
.account(parameters.getAccountRecord())
196197
.authenticationScheme(authenticationScheme)
197198
.authorizationAgent(getAuthorizationAgent(configuration))
@@ -1284,6 +1285,10 @@ private static String getLoginHint(@NonNull final AcquireTokenParameters paramet
12841285
}
12851286
}
12861287

1288+
private static String getDomainHint(@NonNull final AcquireTokenParameters parameters) {
1289+
return parameters.getDomainHint();
1290+
}
1291+
12871292
private static AuthorizationAgent getAuthorizationAgent(@NonNull final PublicClientApplicationConfiguration configuration) {
12881293
if (configuration.getAuthorizationAgent() != null) {
12891294
return configuration.getAuthorizationAgent();

0 commit comments

Comments
 (0)