Skip to content

Commit 2976239

Browse files
authored
Update CIAM tests (#673)
1 parent 3c00622 commit 2976239

File tree

5 files changed

+92
-1
lines changed

5 files changed

+92
-1
lines changed

msal4j-sdk/src/integrationtest/java/com.microsoft.aad.msal4j/AcquireTokenInteractiveIT.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,50 @@ void acquireTokenInteractive_ManagedUser_InstanceAware() {
124124
assertAcquireTokenInstanceAware(user);
125125
}
126126

127+
@Test
128+
void acquireTokenInteractive_Ciam() {
129+
User user = labUserProvider.getCiamUser();
130+
131+
Map<String, String> extraQueryParameters = new HashMap<>();
132+
133+
PublicClientApplication pca;
134+
try {
135+
pca = PublicClientApplication.builder(
136+
user.getAppId()).
137+
authority("https://" + user.getLabName() + ".ciamlogin.com/")
138+
.build();
139+
} catch (MalformedURLException ex) {
140+
throw new RuntimeException(ex.getMessage());
141+
}
142+
143+
IAuthenticationResult result;
144+
try {
145+
URI url = new URI("http://localhost:8080");
146+
147+
SystemBrowserOptions browserOptions =
148+
SystemBrowserOptions
149+
.builder()
150+
.openBrowserAction(new SeleniumOpenBrowserAction(user, pca))
151+
.build();
152+
153+
InteractiveRequestParameters parameters = InteractiveRequestParameters
154+
.builder(url)
155+
.scopes(Collections.singleton(TestConstants.USER_READ_SCOPE))
156+
.extraQueryParameters(extraQueryParameters)
157+
.systemBrowserOptions(browserOptions)
158+
.build();
159+
160+
result = pca.acquireToken(parameters).get();
161+
162+
} catch (Exception e) {
163+
LOG.error("Error acquiring token with authCode: " + e.getMessage());
164+
throw new RuntimeException("Error acquiring token with authCode: " + e.getMessage());
165+
}
166+
167+
assertTokenResultNotNull(result);
168+
assertEquals(user.getUpn(), result.account().username());
169+
}
170+
127171
private void assertAcquireTokenCommon(User user, String authority, String scope) {
128172
PublicClientApplication pca;
129173
try {

msal4j-sdk/src/integrationtest/java/com.microsoft.aad.msal4j/ClientCredentialsIT.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import labapi.AppCredentialProvider;
77
import labapi.AzureEnvironment;
88
import labapi.LabUserProvider;
9+
import labapi.User;
910
import org.junit.jupiter.api.Test;
1011
import org.junit.jupiter.api.TestInstance;
1112
import org.junit.jupiter.api.BeforeAll;
@@ -64,6 +65,29 @@ void acquireTokenClientCredentials_ClientAssertion() throws Exception {
6465
assertAcquireTokenCommon(clientId, credential, TestConstants.MICROSOFT_AUTHORITY);
6566
}
6667

68+
@Test
69+
void acquireTokenClientCredentials_ClientSecret_Ciam() throws Exception {
70+
71+
User user = labUserProvider.getCiamUser();
72+
String clientId = user.getAppId();
73+
74+
AppCredentialProvider appProvider = new AppCredentialProvider(AzureEnvironment.CIAM);
75+
IClientCredential credential = ClientCredentialFactory.createFromSecret(appProvider.getOboAppPassword());
76+
77+
ConfidentialClientApplication cca = ConfidentialClientApplication.builder(
78+
clientId, credential).
79+
authority("https://" + user.getLabName() + ".ciamlogin.com/").
80+
build();
81+
82+
IAuthenticationResult result = cca.acquireToken(ClientCredentialParameters
83+
.builder(Collections.singleton(TestConstants.DEFAULT_SCOPE))
84+
.build())
85+
.get();
86+
87+
assertNotNull(result);
88+
assertNotNull(result.accessToken());
89+
}
90+
6791
@Test
6892
void acquireTokenClientCredentials_Callback() throws Exception {
6993
String clientId = "2afb0add-2f32-4946-ac90-81a02aa4550e";
@@ -132,6 +156,7 @@ void acquireTokenClientCredentials_Regional() throws Exception {
132156

133157
assertAcquireTokenCommon_withRegion(clientId, certificate, "westus", TestConstants.REGIONAL_MICROSOFT_AUTHORITY_BASIC_HOST_WESTUS);
134158
}
159+
135160
private ClientAssertion getClientAssertion(String clientId) {
136161
return JwtHelper.buildJwt(
137162
clientId,

msal4j-sdk/src/integrationtest/java/com.microsoft.aad.msal4j/TestConstants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public class TestConstants {
1313
public final static String MSIDLAB_VAULT_URL = "https://msidlabs.vault.azure.net/";
1414
public final static String GRAPH_DEFAULT_SCOPE = "https://graph.windows.net/.default";
1515
public final static String USER_READ_SCOPE = "user.read";
16+
public final static String DEFAULT_SCOPE = ".default";
1617
public final static String B2C_LAB_SCOPE = "https://msidlabb2c.onmicrosoft.com/msaapp/user_impersonation";
1718
public final static String B2C_CONFIDENTIAL_CLIENT_APP_SECRETID = "MSIDLABB2C-MSAapp-AppSecret";
1819
public final static String B2C_CONFIDENTIAL_CLIENT_LAB_APP_ID = "MSIDLABB2C-MSAapp-AppID";

msal4j-sdk/src/integrationtest/java/com.microsoft.aad.msal4j/UsernamePasswordIT.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,27 @@ void acquireTokenWithUsernamePassword_AuthorityWithPort() throws Exception {
119119
user.getAppId());
120120
}
121121

122+
@Test
123+
void acquireTokenWithUsernamePassword_Ciam() throws Exception {
124+
125+
Map<String, String> extraQueryParameters = new HashMap<>();
126+
127+
User user = labUserProvider.getCiamUser();
128+
PublicClientApplication pca = PublicClientApplication.builder(user.getAppId())
129+
.authority("https://" + user.getLabName() + ".ciamlogin.com/")
130+
.build();
131+
132+
133+
IAuthenticationResult result = pca.acquireToken(UserNamePasswordParameters.
134+
builder(Collections.singleton(TestConstants.USER_READ_SCOPE),
135+
user.getUpn(),
136+
user.getPassword().toCharArray())
137+
.extraQueryParameters(extraQueryParameters)
138+
.build())
139+
.get();
140+
141+
assertNotNull(result.accessToken());
142+
}
122143

123144
private void assertAcquireTokenCommonAAD(User user) throws Exception {
124145
assertAcquireTokenCommon(user, cfg.organizationsAuthority(), cfg.graphDefaultScope(),

msal4j-sdk/src/integrationtest/java/labapi/LabConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class LabConstants {
1414
public final static String USER_MSA_USERNAME_URL = "https://msidlabs.vault.azure.net/secrets/MSA-MSIDLAB4-UserName";
1515
public final static String USER_MSA_PASSWORD_URL = "https://msidlabs.vault.azure.net/secrets/MSA-MSIDLAB4-Password";
1616
public final static String OBO_APP_PASSWORD_URL = "https://msidlabs.vault.azure.net/secrets/TodoListServiceV2-OBO";
17-
public final static String CIAM_KEY_VAULT_SECRET_KEY = "https://msidlabs.vault.azure.net/secrets/MSIDLABCIAM1-cc";
17+
public final static String CIAM_KEY_VAULT_SECRET_KEY = "https://msidlabs.vault.azure.net/secrets/MSIDLABCIAM2-cc";
1818

1919
public final static String ARLINGTON_APP_ID = "cb7faed4-b8c0-49ee-b421-f5ed16894c83";
2020
public final static String ARLINGTON_OBO_APP_ID = "c0555d2d-02f2-4838-802e-3463422e571d";

0 commit comments

Comments
 (0)