extraQueryParameters;
+
/**
* Overrides the tenant value in the authority URL for this request
*/
diff --git a/src/main/java/com/microsoft/aad/msal4j/OnBehalfOfRequest.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/OnBehalfOfRequest.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/OnBehalfOfRequest.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/OnBehalfOfRequest.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/OpenBrowserAction.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/OpenBrowserAction.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/OpenBrowserAction.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/OpenBrowserAction.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/ParameterValidationUtils.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ParameterValidationUtils.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/ParameterValidationUtils.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ParameterValidationUtils.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/Prompt.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/Prompt.java
similarity index 83%
rename from src/main/java/com/microsoft/aad/msal4j/Prompt.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/Prompt.java
index 1c5efd7b..7670f3da 100644
--- a/src/main/java/com/microsoft/aad/msal4j/Prompt.java
+++ b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/Prompt.java
@@ -25,14 +25,6 @@ public enum Prompt {
*/
CONSENT("consent"),
- /**
- * An administrator should be prompted to consent on behalf of all users in their organization.
- *
- * Deprecated, instead use Prompt.ADMIN_CONSENT
- */
- @Deprecated
- ADMING_CONSENT("admin_consent"),
-
/**
* An administrator should be prompted to consent on behalf of all users in their organization.
*/
diff --git a/src/main/java/com/microsoft/aad/msal4j/PublicApi.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/PublicApi.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/PublicApi.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/PublicApi.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/PublicClientApplication.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/PublicClientApplication.java
similarity index 95%
rename from src/main/java/com/microsoft/aad/msal4j/PublicClientApplication.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/PublicClientApplication.java
index a7f18dda..80fa1c31 100644
--- a/src/main/java/com/microsoft/aad/msal4j/PublicClientApplication.java
+++ b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/PublicClientApplication.java
@@ -66,10 +66,9 @@ public CompletableFuture acquireToken(IntegratedWindowsAu
@Override
public CompletableFuture acquireToken(DeviceCodeFlowParameters parameters) {
- if (!(AuthorityType.AAD.equals(authenticationAuthority.authorityType()) ||
- AuthorityType.ADFS.equals(authenticationAuthority.authorityType()))) {
+ if (AuthorityType.B2C.equals(authenticationAuthority.authorityType())) {
throw new IllegalArgumentException(
- "Invalid authority type. Device Flow is only supported by AAD and ADFS authorities");
+ "Invalid authority type. Device Flow is not supported by B2C authority.");
}
validateNotNull("parameters", parameters);
diff --git a/src/main/java/com/microsoft/aad/msal4j/RefreshTokenCacheEntity.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RefreshTokenCacheEntity.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/RefreshTokenCacheEntity.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RefreshTokenCacheEntity.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/RefreshTokenParameters.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RefreshTokenParameters.java
similarity index 94%
rename from src/main/java/com/microsoft/aad/msal4j/RefreshTokenParameters.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RefreshTokenParameters.java
index 5a9750b0..862462a4 100644
--- a/src/main/java/com/microsoft/aad/msal4j/RefreshTokenParameters.java
+++ b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RefreshTokenParameters.java
@@ -48,6 +48,11 @@ public class RefreshTokenParameters implements IAcquireTokenParameters {
*/
private Map extraHttpHeaders;
+ /**
+ * Adds additional parameters to the token request
+ */
+ private Map extraQueryParameters;
+
/**
* Overrides the tenant value in the authority URL for this request
*/
diff --git a/src/main/java/com/microsoft/aad/msal4j/RefreshTokenRequest.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RefreshTokenRequest.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/RefreshTokenRequest.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RefreshTokenRequest.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/RegionTelemetry.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RegionTelemetry.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/RegionTelemetry.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RegionTelemetry.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/RemoveAccountRunnable.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RemoveAccountRunnable.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/RemoveAccountRunnable.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RemoveAccountRunnable.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/RequestContext.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RequestContext.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/RequestContext.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RequestContext.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/RequestedClaim.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RequestedClaim.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/RequestedClaim.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RequestedClaim.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/RequestedClaimAdditionalInfo.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RequestedClaimAdditionalInfo.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/RequestedClaimAdditionalInfo.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/RequestedClaimAdditionalInfo.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/ResponseMode.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ResponseMode.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/ResponseMode.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ResponseMode.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/SAML11BearerGrant.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SAML11BearerGrant.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/SAML11BearerGrant.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SAML11BearerGrant.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/SafeDocumentBuilderFactory.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SafeDocumentBuilderFactory.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/SafeDocumentBuilderFactory.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SafeDocumentBuilderFactory.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/ServerSideTelemetry.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ServerSideTelemetry.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/ServerSideTelemetry.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ServerSideTelemetry.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/ServiceBundle.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ServiceBundle.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/ServiceBundle.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ServiceBundle.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/SilentParameters.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SilentParameters.java
similarity index 96%
rename from src/main/java/com/microsoft/aad/msal4j/SilentParameters.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SilentParameters.java
index 8778a07b..429c5dbb 100644
--- a/src/main/java/com/microsoft/aad/msal4j/SilentParameters.java
+++ b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SilentParameters.java
@@ -54,6 +54,11 @@ public class SilentParameters implements IAcquireTokenParameters {
*/
private Map extraHttpHeaders;
+ /**
+ * Adds additional query parameters to the token request
+ */
+ private Map extraQueryParameters;
+
/**
* Overrides the tenant value in the authority URL for this request
*/
diff --git a/src/main/java/com/microsoft/aad/msal4j/SilentRequest.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SilentRequest.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/SilentRequest.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SilentRequest.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/StringHelper.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/StringHelper.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/StringHelper.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/StringHelper.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/SystemBrowserOptions.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SystemBrowserOptions.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/SystemBrowserOptions.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/SystemBrowserOptions.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/TelemetryConstants.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TelemetryConstants.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/TelemetryConstants.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TelemetryConstants.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/TelemetryHelper.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TelemetryHelper.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/TelemetryHelper.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TelemetryHelper.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/TelemetryManager.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TelemetryManager.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/TelemetryManager.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TelemetryManager.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/TenantProfile.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TenantProfile.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/TenantProfile.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TenantProfile.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/ThrottlingCache.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ThrottlingCache.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/ThrottlingCache.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/ThrottlingCache.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/TokenCache.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenCache.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/TokenCache.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenCache.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/TokenCacheAccessContext.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenCacheAccessContext.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/TokenCacheAccessContext.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenCacheAccessContext.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/TokenProviderResult.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenProviderResult.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/TokenProviderResult.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenProviderResult.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/TokenRequestExecutor.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenRequestExecutor.java
similarity index 92%
rename from src/main/java/com/microsoft/aad/msal4j/TokenRequestExecutor.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenRequestExecutor.java
index a8ab5194..50805df2 100644
--- a/src/main/java/com/microsoft/aad/msal4j/TokenRequestExecutor.java
+++ b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenRequestExecutor.java
@@ -34,7 +34,7 @@ class TokenRequestExecutor {
AuthenticationResult executeTokenRequest() throws ParseException, IOException {
- log.debug("Sending token request to: " + requestAuthority.canonicalAuthorityUrl());
+ log.debug("Sending token request to: {}", requestAuthority.canonicalAuthorityUrl());
OAuthHttpRequest oAuthHttpRequest = createOauthHttpRequest();
HTTPResponse oauthHttpResponse = oAuthHttpRequest.send();
return createAuthenticationResultFromOauthHttpResponse(oauthHttpResponse);
@@ -67,6 +67,15 @@ OAuthHttpRequest createOauthHttpRequest() throws SerializeException, MalformedUR
params.put("claims", Collections.singletonList(claimsRequest));
}
+ if(msalRequest.requestContext().apiParameters().extraQueryParameters() != null ){
+ for(String key: msalRequest.requestContext().apiParameters().extraQueryParameters().keySet()){
+ if(params.containsKey(key)){
+ log.warn("A query parameter {} has been provided with values multiple times.", key);
+ }
+ params.put(key, Collections.singletonList(msalRequest.requestContext().apiParameters().extraQueryParameters().get(key)));
+ }
+ }
+
oauthHttpRequest.setQuery(URLUtils.serializeParameters(params));
if (msalRequest.application().clientAuthentication() != null) {
diff --git a/src/main/java/com/microsoft/aad/msal4j/TokenResponse.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenResponse.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/TokenResponse.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/TokenResponse.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/UserAssertion.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserAssertion.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/UserAssertion.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserAssertion.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/UserDiscoveryRequest.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserDiscoveryRequest.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/UserDiscoveryRequest.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserDiscoveryRequest.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/UserDiscoveryResponse.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserDiscoveryResponse.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/UserDiscoveryResponse.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserDiscoveryResponse.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/UserIdentifier.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserIdentifier.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/UserIdentifier.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserIdentifier.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/UserNamePasswordParameters.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserNamePasswordParameters.java
similarity index 95%
rename from src/main/java/com/microsoft/aad/msal4j/UserNamePasswordParameters.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserNamePasswordParameters.java
index b7f70f55..cc4dab0c 100644
--- a/src/main/java/com/microsoft/aad/msal4j/UserNamePasswordParameters.java
+++ b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserNamePasswordParameters.java
@@ -53,6 +53,11 @@ public class UserNamePasswordParameters implements IAcquireTokenParameters {
*/
private Map extraHttpHeaders;
+ /**
+ * Adds additional query parameters to the token request
+ */
+ private Map extraQueryParameters;
+
/**
* Overrides the tenant value in the authority URL for this request
*/
diff --git a/src/main/java/com/microsoft/aad/msal4j/UserNamePasswordRequest.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserNamePasswordRequest.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/UserNamePasswordRequest.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/UserNamePasswordRequest.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/WSTrustRequest.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/WSTrustRequest.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/WSTrustRequest.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/WSTrustRequest.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/WSTrustResponse.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/WSTrustResponse.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/WSTrustResponse.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/WSTrustResponse.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/WSTrustVersion.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/WSTrustVersion.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/WSTrustVersion.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/WSTrustVersion.java
diff --git a/src/main/java/com/microsoft/aad/msal4j/XmsClientTelemetryInfo.java b/msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/XmsClientTelemetryInfo.java
similarity index 100%
rename from src/main/java/com/microsoft/aad/msal4j/XmsClientTelemetryInfo.java
rename to msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/XmsClientTelemetryInfo.java
diff --git a/src/samples/cache/TokenCacheAspect.java b/msal4j-sdk/src/samples/cache/TokenCacheAspect.java
similarity index 100%
rename from src/samples/cache/TokenCacheAspect.java
rename to msal4j-sdk/src/samples/cache/TokenCacheAspect.java
diff --git a/src/samples/cache/sample_cache.json b/msal4j-sdk/src/samples/cache/sample_cache.json
similarity index 100%
rename from src/samples/cache/sample_cache.json
rename to msal4j-sdk/src/samples/cache/sample_cache.json
diff --git a/src/samples/confidential-client/ClientCredentialGrant.java b/msal4j-sdk/src/samples/confidential-client/ClientCredentialGrant.java
similarity index 100%
rename from src/samples/confidential-client/ClientCredentialGrant.java
rename to msal4j-sdk/src/samples/confidential-client/ClientCredentialGrant.java
diff --git a/src/samples/msal-b2c-web-sample/pom.xml b/msal4j-sdk/src/samples/msal-b2c-web-sample/pom.xml
similarity index 97%
rename from src/samples/msal-b2c-web-sample/pom.xml
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/pom.xml
index a63252b5..44fb595f 100644
--- a/src/samples/msal-b2c-web-sample/pom.xml
+++ b/msal4j-sdk/src/samples/msal-b2c-web-sample/pom.xml
@@ -23,7 +23,7 @@
com.microsoft.azure
msal4j
- 1.13.1
+ 1.13.8
com.nimbusds
@@ -33,7 +33,7 @@
org.json
json
- 20090211
+ 20230227
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthFilter.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthFilter.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthFilter.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthFilter.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthHelper.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthHelper.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthHelper.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthHelper.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthPageController.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthPageController.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthPageController.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthPageController.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/BasicConfiguration.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/BasicConfiguration.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/BasicConfiguration.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/BasicConfiguration.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/CookieHelper.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/CookieHelper.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/CookieHelper.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/CookieHelper.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/ErrorHandlerController.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/ErrorHandlerController.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/ErrorHandlerController.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/ErrorHandlerController.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/HttpClientHelper.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/HttpClientHelper.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/HttpClientHelper.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/HttpClientHelper.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/MsalB2CWebSampleApplication.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/MsalB2CWebSampleApplication.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/MsalB2CWebSampleApplication.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/MsalB2CWebSampleApplication.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/StateData.java b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/StateData.java
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/StateData.java
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/java/com/microsoft/azure/msalwebsample/StateData.java
diff --git a/src/samples/msal-b2c-web-sample/src/main/resources/application.properties b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/resources/application.properties
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/resources/application.properties
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/resources/application.properties
diff --git a/src/samples/msal-b2c-web-sample/src/main/resources/templates/auth_page.html b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/resources/templates/auth_page.html
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/resources/templates/auth_page.html
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/resources/templates/auth_page.html
diff --git a/src/samples/msal-b2c-web-sample/src/main/resources/templates/error.html b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/resources/templates/error.html
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/resources/templates/error.html
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/resources/templates/error.html
diff --git a/src/samples/msal-b2c-web-sample/src/main/resources/templates/index.html b/msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/resources/templates/index.html
similarity index 100%
rename from src/samples/msal-b2c-web-sample/src/main/resources/templates/index.html
rename to msal4j-sdk/src/samples/msal-b2c-web-sample/src/main/resources/templates/index.html
diff --git a/src/samples/msal-obo-sample/pom.xml b/msal4j-sdk/src/samples/msal-obo-sample/pom.xml
similarity index 94%
rename from src/samples/msal-obo-sample/pom.xml
rename to msal4j-sdk/src/samples/msal-obo-sample/pom.xml
index 68d81077..83de76a6 100644
--- a/src/samples/msal-obo-sample/pom.xml
+++ b/msal4j-sdk/src/samples/msal-obo-sample/pom.xml
@@ -23,7 +23,7 @@
com.microsoft.azure
msal4j
- 1.13.1
+ 1.13.8
com.nimbusds
@@ -33,7 +33,7 @@
org.json
json
- 20090211
+ 20230227
org.projectlombok
@@ -58,7 +58,7 @@
org.springframework.security.oauth
spring-security-oauth2
- 2.3.6.RELEASE
+ 2.5.2
@@ -75,7 +75,7 @@
com.google.guava
guava
- 29.0-jre
+ 31.1-jre
diff --git a/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/ApiController.java b/msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/ApiController.java
similarity index 100%
rename from src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/ApiController.java
rename to msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/ApiController.java
diff --git a/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/CachingConfig.java b/msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/CachingConfig.java
similarity index 100%
rename from src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/CachingConfig.java
rename to msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/CachingConfig.java
diff --git a/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/MsalAuthHelper.java b/msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/MsalAuthHelper.java
similarity index 100%
rename from src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/MsalAuthHelper.java
rename to msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/MsalAuthHelper.java
diff --git a/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/MsalOboSampleApplication.java b/msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/MsalOboSampleApplication.java
similarity index 100%
rename from src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/MsalOboSampleApplication.java
rename to msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/MsalOboSampleApplication.java
diff --git a/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/SecurityResourceServerConfig.java b/msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/SecurityResourceServerConfig.java
similarity index 100%
rename from src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/SecurityResourceServerConfig.java
rename to msal4j-sdk/src/samples/msal-obo-sample/src/main/java/com/microsoft/azure/msalobosample/SecurityResourceServerConfig.java
diff --git a/src/samples/msal-obo-sample/src/main/resources/application.properties b/msal4j-sdk/src/samples/msal-obo-sample/src/main/resources/application.properties
similarity index 100%
rename from src/samples/msal-obo-sample/src/main/resources/application.properties
rename to msal4j-sdk/src/samples/msal-obo-sample/src/main/resources/application.properties
diff --git a/src/samples/msal-web-sample/pom.xml b/msal4j-sdk/src/samples/msal-web-sample/pom.xml
similarity index 97%
rename from src/samples/msal-web-sample/pom.xml
rename to msal4j-sdk/src/samples/msal-web-sample/pom.xml
index 891c6aed..4c5eb86e 100644
--- a/src/samples/msal-web-sample/pom.xml
+++ b/msal4j-sdk/src/samples/msal-web-sample/pom.xml
@@ -23,7 +23,7 @@
com.microsoft.azure
msal4j
- 1.13.1
+ 1.13.8
com.nimbusds
@@ -33,7 +33,7 @@
org.json
json
- 20090211
+ 20230227
org.apache.commons
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthFilter.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthFilter.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthFilter.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthFilter.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthHelper.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthHelper.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthHelper.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthHelper.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthPageController.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthPageController.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthPageController.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/AuthPageController.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/BasicConfiguration.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/BasicConfiguration.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/BasicConfiguration.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/BasicConfiguration.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/CookieHelper.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/CookieHelper.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/CookieHelper.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/CookieHelper.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/ErrorHandlerController.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/ErrorHandlerController.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/ErrorHandlerController.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/ErrorHandlerController.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/HttpClientHelper.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/HttpClientHelper.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/HttpClientHelper.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/HttpClientHelper.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/JSONHelper.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/JSONHelper.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/JSONHelper.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/JSONHelper.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/MsalWebSampleApplication.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/MsalWebSampleApplication.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/MsalWebSampleApplication.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/MsalWebSampleApplication.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/StateData.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/StateData.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/StateData.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/StateData.java
diff --git a/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/User.java b/msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/User.java
similarity index 100%
rename from src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/User.java
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/java/com/microsoft/azure/msalwebsample/User.java
diff --git a/src/samples/msal-web-sample/src/main/resources/application.properties b/msal4j-sdk/src/samples/msal-web-sample/src/main/resources/application.properties
similarity index 100%
rename from src/samples/msal-web-sample/src/main/resources/application.properties
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/resources/application.properties
diff --git a/src/samples/msal-web-sample/src/main/resources/templates/auth_page.html b/msal4j-sdk/src/samples/msal-web-sample/src/main/resources/templates/auth_page.html
similarity index 100%
rename from src/samples/msal-web-sample/src/main/resources/templates/auth_page.html
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/resources/templates/auth_page.html
diff --git a/src/samples/msal-web-sample/src/main/resources/templates/error.html b/msal4j-sdk/src/samples/msal-web-sample/src/main/resources/templates/error.html
similarity index 100%
rename from src/samples/msal-web-sample/src/main/resources/templates/error.html
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/resources/templates/error.html
diff --git a/src/samples/msal-web-sample/src/main/resources/templates/index.html b/msal4j-sdk/src/samples/msal-web-sample/src/main/resources/templates/index.html
similarity index 100%
rename from src/samples/msal-web-sample/src/main/resources/templates/index.html
rename to msal4j-sdk/src/samples/msal-web-sample/src/main/resources/templates/index.html
diff --git a/src/samples/public-client/DeviceCodeFlow.java b/msal4j-sdk/src/samples/public-client/DeviceCodeFlow.java
similarity index 100%
rename from src/samples/public-client/DeviceCodeFlow.java
rename to msal4j-sdk/src/samples/public-client/DeviceCodeFlow.java
diff --git a/src/samples/public-client/IntegratedWindowsAuthenticationFlow.java b/msal4j-sdk/src/samples/public-client/IntegratedWindowsAuthenticationFlow.java
similarity index 100%
rename from src/samples/public-client/IntegratedWindowsAuthenticationFlow.java
rename to msal4j-sdk/src/samples/public-client/IntegratedWindowsAuthenticationFlow.java
diff --git a/src/samples/public-client/InteractiveFlow.java b/msal4j-sdk/src/samples/public-client/InteractiveFlow.java
similarity index 100%
rename from src/samples/public-client/InteractiveFlow.java
rename to msal4j-sdk/src/samples/public-client/InteractiveFlow.java
diff --git a/src/samples/public-client/InteractiveFlowB2C.java b/msal4j-sdk/src/samples/public-client/InteractiveFlowB2C.java
similarity index 100%
rename from src/samples/public-client/InteractiveFlowB2C.java
rename to msal4j-sdk/src/samples/public-client/InteractiveFlowB2C.java
diff --git a/src/samples/public-client/UsernamePasswordFlow.java b/msal4j-sdk/src/samples/public-client/UsernamePasswordFlow.java
similarity index 100%
rename from src/samples/public-client/UsernamePasswordFlow.java
rename to msal4j-sdk/src/samples/public-client/UsernamePasswordFlow.java
diff --git a/src/samples/public-client/application.properties b/msal4j-sdk/src/samples/public-client/application.properties
similarity index 100%
rename from src/samples/public-client/application.properties
rename to msal4j-sdk/src/samples/public-client/application.properties
diff --git a/src/samples/spring-security-web-app/pom.xml b/msal4j-sdk/src/samples/spring-security-web-app/pom.xml
similarity index 100%
rename from src/samples/spring-security-web-app/pom.xml
rename to msal4j-sdk/src/samples/spring-security-web-app/pom.xml
diff --git a/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/AppConfiguration.java b/msal4j-sdk/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/AppConfiguration.java
similarity index 100%
rename from src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/AppConfiguration.java
rename to msal4j-sdk/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/AppConfiguration.java
diff --git a/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/SecurePageController.java b/msal4j-sdk/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/SecurePageController.java
similarity index 100%
rename from src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/SecurePageController.java
rename to msal4j-sdk/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/SecurePageController.java
diff --git a/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/SpringSecurityWebAppApplication.java b/msal4j-sdk/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/SpringSecurityWebAppApplication.java
similarity index 100%
rename from src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/SpringSecurityWebAppApplication.java
rename to msal4j-sdk/src/samples/spring-security-web-app/src/main/java/com/microsoft/azure/springsecuritywebapp/SpringSecurityWebAppApplication.java
diff --git a/src/samples/spring-security-web-app/src/main/resources/application.properties b/msal4j-sdk/src/samples/spring-security-web-app/src/main/resources/application.properties
similarity index 100%
rename from src/samples/spring-security-web-app/src/main/resources/application.properties
rename to msal4j-sdk/src/samples/spring-security-web-app/src/main/resources/application.properties
diff --git a/src/samples/spring-security-web-app/src/main/resources/templates/index.html b/msal4j-sdk/src/samples/spring-security-web-app/src/main/resources/templates/index.html
similarity index 100%
rename from src/samples/spring-security-web-app/src/main/resources/templates/index.html
rename to msal4j-sdk/src/samples/spring-security-web-app/src/main/resources/templates/index.html
diff --git a/src/samples/spring-security-web-app/src/main/resources/templates/secure_page.html b/msal4j-sdk/src/samples/spring-security-web-app/src/main/resources/templates/secure_page.html
similarity index 100%
rename from src/samples/spring-security-web-app/src/main/resources/templates/secure_page.html
rename to msal4j-sdk/src/samples/spring-security-web-app/src/main/resources/templates/secure_page.html
diff --git a/src/test/java/com/microsoft/aad/msal4j/AadInstanceDiscoveryTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AadInstanceDiscoveryTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/AadInstanceDiscoveryTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AadInstanceDiscoveryTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/AbstractMsalTests.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AbstractMsalTests.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/AbstractMsalTests.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AbstractMsalTests.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/AccountTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AccountTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/AccountTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AccountTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/AcquireTokenSilentlyTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AcquireTokenSilentlyTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/AcquireTokenSilentlyTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AcquireTokenSilentlyTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/AssertionCredentialTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AssertionCredentialTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/AssertionCredentialTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AssertionCredentialTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/AuthorityTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AuthorityTest.java
similarity index 80%
rename from src/test/java/com/microsoft/aad/msal4j/AuthorityTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AuthorityTest.java
index 0db1b159..cd0a8bf4 100644
--- a/src/test/java/com/microsoft/aad/msal4j/AuthorityTest.java
+++ b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AuthorityTest.java
@@ -34,11 +34,37 @@ public void testDetectAuthorityType_B2C() throws Exception {
Assert.assertEquals(Authority.detectAuthorityType(url), AuthorityType.B2C);
}
+ @DataProvider(name = "ciamAuthorities")
+ public static Object[][] createCiamAuthorityData() throws MalformedURLException {
+ return new Object[][]{{new URL("https://msidlabciam1.ciamlogin.com/")},
+ {new URL("https://msidlabciam1.ciamlogin.com/d57fb3d4-4b5a-4144-9328-9c1f7d58179d/")},
+ {new URL("https://msidlabciam1.ciamlogin.com/msidlabciam1.onmicrosoft.com/")},
+ {new URL("https://msidlabciam1.ciamlogin.com/aDomain/")}};
+ }
+
+ @Test(dataProvider = "ciamAuthorities")
+ public void testDetectAuthorityType_CIAM(URL authority) throws Exception {
+ Assert.assertEquals(Authority.detectAuthorityType(authority), AuthorityType.CIAM);
+ }
+
+ @DataProvider(name = "validCiamAuthoritiesAndTransformedAuthority")
+ public static Object[][] createCiamAndTransformedAuthorityData() throws MalformedURLException {
+ return new Object[][]{{new URL("https://msidlabciam1.ciamlogin.com/"),new URL("https://msidlabciam1.ciamlogin.com/msidlabciam1.onmicrosoft.com/")},
+ {new URL("https://msidlabciam1.ciamlogin.com/d57fb3d4-4b5a-4144-9328-9c1f7d58179d"),new URL("https://msidlabciam1.ciamlogin.com/d57fb3d4-4b5a-4144-9328-9c1f7d58179d")},
+ {new URL("https://msidlabciam1.ciamlogin.com/msidlabciam1.onmicrosoft.com"),new URL("https://msidlabciam1.ciamlogin.com/msidlabciam1.onmicrosoft.com")},
+ {new URL("https://msidlabciam1.ciamlogin.com/aDomain"),new URL("https://msidlabciam1.ciamlogin.com/aDomain")}};
+ }
+
+ @Test(dataProvider = "validCiamAuthoritiesAndTransformedAuthority")
+ public void testCiamAuthorityTransformation(URL authority, URL transformedAuthority) throws Exception{
+ Assert.assertEquals(CIAMAuthority.transformAuthority(authority), transformedAuthority);
+ }
+
@Test(expectedExceptions = IllegalArgumentException.class,
expectedExceptionsMessageRegExp =
- "B2C 'authority' Uri should have at least 3 segments in the path \\(i.e. https:///tfp///...\\)")
+ "Valid B2C 'authority' URLs should follow either of these formats.*")
public void testB2CAuthorityConstructor_NotEnoughSegments() throws MalformedURLException {
- new B2CAuthority(new URL("https://something.com/tfp/somethingelse/"));
+ new B2CAuthority(new URL("https://something.com/somethingelse/"));
}
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "authority should use the 'https' scheme")
diff --git a/src/test/java/com/microsoft/aad/msal4j/AuthorizationRequestUrlParametersTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AuthorizationRequestUrlParametersTest.java
similarity index 87%
rename from src/test/java/com/microsoft/aad/msal4j/AuthorizationRequestUrlParametersTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AuthorizationRequestUrlParametersTest.java
index 589bb339..66dd4f3a 100644
--- a/src/test/java/com/microsoft/aad/msal4j/AuthorizationRequestUrlParametersTest.java
+++ b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/AuthorizationRequestUrlParametersTest.java
@@ -20,14 +20,20 @@ public void testBuilder_onlyRequiredParameters() throws UnsupportedEncodingExcep
String redirectUri = "http://localhost:8080";
Set scope = Collections.singleton("scope");
+ Map extraParameters = new HashMap<>();
+ extraParameters.put("id_token_hint", "test");
+ extraParameters.put("another_param", "some_value");
+
AuthorizationRequestUrlParameters parameters =
AuthorizationRequestUrlParameters
.builder(redirectUri, scope)
+ .extraQueryParameters(extraParameters)
.build();
Assert.assertEquals(parameters.responseMode(), ResponseMode.FORM_POST);
Assert.assertEquals(parameters.redirectUri(), redirectUri);
Assert.assertEquals(parameters.scopes().size(), 4);
+ Assert.assertEquals(parameters.extraQueryParameters.size(), 2);
Assert.assertNull(parameters.loginHint());
Assert.assertNull(parameters.codeChallenge());
@@ -58,6 +64,7 @@ public void testBuilder_onlyRequiredParameters() throws UnsupportedEncodingExcep
Assert.assertEquals(queryParameters.get("redirect_uri"), "http://localhost:8080");
Assert.assertEquals(queryParameters.get("client_id"), "client_id");
Assert.assertEquals(queryParameters.get("response_mode"), "form_post");
+ Assert.assertEquals(queryParameters.get("id_token_hint"),"test");
}
@Test(expectedExceptions = IllegalArgumentException.class)
@@ -71,6 +78,22 @@ public void testBuilder_invalidRequiredParameters() {
.build();
}
+ @Test
+ public void testBuilder_conflictingParameters() {
+ PublicClientApplication app = PublicClientApplication.builder("client_id").build();
+
+ String redirectUri = "http://localhost:8080";
+ Set scope = Collections.singleton("scope");
+
+ Map extraParameters = new HashMap<>();
+ extraParameters.put("scope", "scope");
+
+ AuthorizationRequestUrlParameters
+ .builder(redirectUri, scope)
+ .extraQueryParameters(extraParameters)
+ .build();
+ }
+
@Test
public void testBuilder_optionalParameters() throws UnsupportedEncodingException {
Set clientCapabilities = new HashSet<>();
diff --git a/src/test/java/com/microsoft/aad/msal4j/CacheFormatTests.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/CacheFormatTests.java
similarity index 98%
rename from src/test/java/com/microsoft/aad/msal4j/CacheFormatTests.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/CacheFormatTests.java
index af09cb91..6714b82b 100644
--- a/src/test/java/com/microsoft/aad/msal4j/CacheFormatTests.java
+++ b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/CacheFormatTests.java
@@ -3,8 +3,6 @@
package com.microsoft.aad.msal4j;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.nimbusds.oauth2.sdk.ParseException;
import com.nimbusds.oauth2.sdk.http.HTTPResponse;
import com.nimbusds.oauth2.sdk.util.JSONObjectUtils;
@@ -26,9 +24,6 @@
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
-import java.sql.Time;
-import java.time.Duration;
-import java.time.Instant;
import java.util.*;
import static com.microsoft.aad.msal4j.Constants.POINT_DELIMITER;
diff --git a/src/test/java/com/microsoft/aad/msal4j/ClaimsTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClaimsTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/ClaimsTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClaimsTest.java
diff --git a/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClientCertificatePkcs12Test.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClientCertificatePkcs12Test.java
new file mode 100644
index 00000000..112a8f11
--- /dev/null
+++ b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClientCertificatePkcs12Test.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+package com.microsoft.aad.msal4j;
+
+import org.easymock.EasyMock;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.security.KeyStore;
+import java.security.KeyStoreSpi;
+import java.util.Arrays;
+import java.util.Collections;
+
+import static org.testng.AssertJUnit.assertEquals;
+
+@Test
+public class ClientCertificatePkcs12Test extends AbstractMsalTests {
+
+ private KeyStoreSpi keyStoreSpi;
+ private KeyStore keystore;
+
+ @BeforeMethod
+ public void setUp() throws Exception {
+ keyStoreSpi = EasyMock.createMock(KeyStoreSpi.class);
+ keystore = new KeyStore(keyStoreSpi, null, "PKCS12") {};
+ keystore.load(null);
+ }
+
+ @Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "certificate not loaded from input stream")
+ public void testNoEntries() throws Exception {
+ EasyMock.expect(keyStoreSpi.engineAliases())
+ .andReturn(Collections.enumeration(Collections.emptyList())).times(1);
+ EasyMock.replay(keyStoreSpi);
+
+ ClientCertificate.getPrivateKeyAlias(keystore);
+ }
+
+ @Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "certificate not loaded from input stream")
+ public void testNoPrivateKey() throws Exception {
+ EasyMock.expect(keyStoreSpi.engineAliases())
+ .andReturn(Collections.enumeration(Arrays.asList("CA_cert1", "CA_cert2"))).times(1);
+ EasyMock.expect(keyStoreSpi.engineEntryInstanceOf("CA_cert1", KeyStore.PrivateKeyEntry.class)).andReturn(false).times(1);
+ EasyMock.expect(keyStoreSpi.engineEntryInstanceOf("CA_cert2", KeyStore.PrivateKeyEntry.class)).andReturn(false).times(1);
+ EasyMock.replay(keyStoreSpi);
+
+ ClientCertificate.getPrivateKeyAlias(keystore);
+ }
+
+ @Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "more than one certificate alias found in input stream")
+ public void testMultiplePrivateKeyAliases() throws Exception {
+ EasyMock.expect(keyStoreSpi.engineAliases())
+ .andReturn(Collections.enumeration(Arrays.asList("private_key1", "private_key2", "CA_cert"))).times(1);
+ EasyMock.expect(keyStoreSpi.engineEntryInstanceOf("private_key1", KeyStore.PrivateKeyEntry.class)).andReturn(true).times(1);
+ EasyMock.expect(keyStoreSpi.engineEntryInstanceOf("private_key2", KeyStore.PrivateKeyEntry.class)).andReturn(true).times(1);
+ EasyMock.expect(keyStoreSpi.engineEntryInstanceOf("CA_cert", KeyStore.PrivateKeyEntry.class)).andReturn(false).times(1);
+ EasyMock.replay(keyStoreSpi);
+
+ ClientCertificate.getPrivateKeyAlias(keystore);
+ }
+
+ @Test
+ public void testMultipleEntriesButOnlyOnePrivateKey() throws Exception {
+ EasyMock.expect(keyStoreSpi.engineAliases())
+ .andReturn(Collections.enumeration(Arrays.asList("CA_cert1", "private_key", "CA_cert2"))).times(1);
+ EasyMock.expect(keyStoreSpi.engineEntryInstanceOf("CA_cert1", KeyStore.PrivateKeyEntry.class)).andReturn(false).times(1);
+ EasyMock.expect(keyStoreSpi.engineEntryInstanceOf("private_key", KeyStore.PrivateKeyEntry.class)).andReturn(true).times(1);
+ EasyMock.expect(keyStoreSpi.engineEntryInstanceOf("CA_cert2", KeyStore.PrivateKeyEntry.class)).andReturn(false).times(1);
+ EasyMock.replay(keyStoreSpi);
+
+ String privateKeyAlias = ClientCertificate.getPrivateKeyAlias(keystore);
+ assertEquals("private_key", privateKeyAlias);
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/microsoft/aad/msal4j/ClientCertificateTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClientCertificateTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/ClientCertificateTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClientCertificateTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/ClientSecretTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClientSecretTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/ClientSecretTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ClientSecretTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/DefaultHttpClientTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/DefaultHttpClientTest.java
similarity index 98%
rename from src/test/java/com/microsoft/aad/msal4j/DefaultHttpClientTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/DefaultHttpClientTest.java
index 6328df36..12ea22eb 100644
--- a/src/test/java/com/microsoft/aad/msal4j/DefaultHttpClientTest.java
+++ b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/DefaultHttpClientTest.java
@@ -9,7 +9,6 @@
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.testng.PowerMockTestCase;
import org.testng.Assert;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import javax.net.ssl.HttpsURLConnection;
diff --git a/src/test/java/com/microsoft/aad/msal4j/DeviceCodeFlowTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/DeviceCodeFlowTest.java
similarity index 93%
rename from src/test/java/com/microsoft/aad/msal4j/DeviceCodeFlowTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/DeviceCodeFlowTest.java
index 91cebf30..1ac60c59 100644
--- a/src/test/java/com/microsoft/aad/msal4j/DeviceCodeFlowTest.java
+++ b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/DeviceCodeFlowTest.java
@@ -24,8 +24,6 @@
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
-import static com.microsoft.aad.msal4j.TestConfiguration.*;
-
@Test(groups = {"checkin"})
@PrepareForTest({HttpHelper.class, PublicClientApplication.class})
@@ -76,7 +74,7 @@ public void deviceCodeFlowTest() throws Exception {
HttpResponse instanceDiscoveryResponse = new HttpResponse();
instanceDiscoveryResponse.statusCode(200);
- instanceDiscoveryResponse.body(INSTANCE_DISCOVERY_RESPONSE);
+ instanceDiscoveryResponse.body(TestConfiguration.INSTANCE_DISCOVERY_RESPONSE);
EasyMock.expect(
HttpHelper.executeHttpRequest(
@@ -121,19 +119,19 @@ public void deviceCodeFlowTest() throws Exception {
PowerMock.replay(app);
IAuthenticationResult authResult = app.acquireToken(
- DeviceCodeFlowParameters.builder(Collections.singleton(AAD_RESOURCE_ID), deviceCodeConsumer)
+ DeviceCodeFlowParameters.builder(Collections.singleton(TestConfiguration.AAD_RESOURCE_ID), deviceCodeConsumer)
.build())
.get();
// validate HTTP GET request used to get device code
URL url = capturedHttpRequest.getValue().url();
- Assert.assertEquals(url.getAuthority(), AAD_PREFERRED_NETWORK_ENV_ALIAS);
+ Assert.assertEquals(url.getAuthority(), TestConfiguration.AAD_PREFERRED_NETWORK_ENV_ALIAS);
Assert.assertEquals(url.getPath(),
- "/" + AAD_TENANT_NAME + "/" + AADAuthority.DEVICE_CODE_ENDPOINT);
+ "/" + TestConfiguration.AAD_TENANT_NAME + "/" + AADAuthority.DEVICE_CODE_ENDPOINT);
String expectedScope = URLEncoder.encode(AbstractMsalAuthorizationGrant.COMMON_SCOPES_PARAM +
- AbstractMsalAuthorizationGrant.SCOPES_DELIMITER + AAD_RESOURCE_ID, "UTF-8");
- String expectedBody = String.format("scope=%s&client_id=%s", expectedScope, AAD_CLIENT_ID);
+ AbstractMsalAuthorizationGrant.SCOPES_DELIMITER + TestConfiguration.AAD_RESOURCE_ID, "UTF-8");
+ String expectedBody = String.format("scope=%s&client_id=%s", expectedScope, TestConfiguration.AAD_CLIENT_ID);
String body = capturedHttpRequest.getValue().body();
Assert.assertEquals(body, expectedBody);
@@ -147,7 +145,7 @@ public void deviceCodeFlowTest() throws Exception {
}
@Test(expectedExceptions = IllegalArgumentException.class,
- expectedExceptionsMessageRegExp = "Invalid authority type. Device Flow is only supported by AAD and ADFS authorities")
+ expectedExceptionsMessageRegExp = "Invalid authority type. Device Flow is not supported by B2C authority.")
public void executeAcquireDeviceCode_B2CAuthorityUsed_IllegalArgumentExceptionThrown()
throws Exception {
@@ -157,7 +155,7 @@ public void executeAcquireDeviceCode_B2CAuthorityUsed_IllegalArgumentExceptionTh
app.acquireToken
(DeviceCodeFlowParameters
- .builder(Collections.singleton(AAD_RESOURCE_ID), (DeviceCode deviceCode) -> {
+ .builder(Collections.singleton(TestConfiguration.AAD_RESOURCE_ID), (DeviceCode deviceCode) -> {
})
.build());
}
@@ -175,7 +173,7 @@ public void executeAcquireDeviceCode_AuthenticaionPendingErrorReturned_Authentic
};
app = PublicClientApplication.builder("client_id")
- .authority(AAD_TENANT_ENDPOINT)
+ .authority(TestConfiguration.AAD_TENANT_ENDPOINT)
.validateAuthority(false)
.correlationId("corr_id")
.build();
diff --git a/src/test/java/com/microsoft/aad/msal4j/HttpHeaderTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/HttpHeaderTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/HttpHeaderTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/HttpHeaderTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/HttpUtilsTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/HttpUtilsTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/HttpUtilsTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/HttpUtilsTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/MexParserTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/MexParserTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/MexParserTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/MexParserTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/MsalOauthAuthorizatonGrantTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/MsalOauthAuthorizatonGrantTest.java
similarity index 95%
rename from src/test/java/com/microsoft/aad/msal4j/MsalOauthAuthorizatonGrantTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/MsalOauthAuthorizatonGrantTest.java
index dd8433a9..e465b409 100644
--- a/src/test/java/com/microsoft/aad/msal4j/MsalOauthAuthorizatonGrantTest.java
+++ b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/MsalOauthAuthorizatonGrantTest.java
@@ -11,8 +11,6 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
/**
*
diff --git a/src/test/java/com/microsoft/aad/msal4j/OAuthRequestValidationTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/OAuthRequestValidationTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/OAuthRequestValidationTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/OAuthRequestValidationTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/OauthHttpRequestTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/OauthHttpRequestTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/OauthHttpRequestTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/OauthHttpRequestTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/PublicClientApplicationTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/PublicClientApplicationTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/PublicClientApplicationTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/PublicClientApplicationTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/RequestThrottlingTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/RequestThrottlingTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/RequestThrottlingTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/RequestThrottlingTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/ServerTelemetryTests.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ServerTelemetryTests.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/ServerTelemetryTests.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ServerTelemetryTests.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/TelemetryTests.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TelemetryTests.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/TelemetryTests.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TelemetryTests.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/TestConfiguration.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TestConfiguration.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/TestConfiguration.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TestConfiguration.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/TestHelper.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TestHelper.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/TestHelper.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TestHelper.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/TokenRequestExecutorTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TokenRequestExecutorTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/TokenRequestExecutorTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TokenRequestExecutorTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/TokenResponseTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TokenResponseTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/TokenResponseTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/TokenResponseTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/UIRequiredCacheTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/UIRequiredCacheTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/UIRequiredCacheTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/UIRequiredCacheTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/WSTrustRequestTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/WSTrustRequestTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/WSTrustRequestTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/WSTrustRequestTest.java
diff --git a/src/test/java/com/microsoft/aad/msal4j/WSTrustResponseTest.java b/msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/WSTrustResponseTest.java
similarity index 100%
rename from src/test/java/com/microsoft/aad/msal4j/WSTrustResponseTest.java
rename to msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/WSTrustResponseTest.java
diff --git a/src/test/resources/AAD_cache_data/account_cache_entity.json b/msal4j-sdk/src/test/resources/AAD_cache_data/account_cache_entity.json
similarity index 100%
rename from src/test/resources/AAD_cache_data/account_cache_entity.json
rename to msal4j-sdk/src/test/resources/AAD_cache_data/account_cache_entity.json
diff --git a/src/test/resources/AAD_cache_data/account_cache_entity_key.txt b/msal4j-sdk/src/test/resources/AAD_cache_data/account_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/AAD_cache_data/account_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/AAD_cache_data/account_cache_entity_key.txt
diff --git a/src/test/resources/AAD_cache_data/at_cache_entity.json b/msal4j-sdk/src/test/resources/AAD_cache_data/at_cache_entity.json
similarity index 100%
rename from src/test/resources/AAD_cache_data/at_cache_entity.json
rename to msal4j-sdk/src/test/resources/AAD_cache_data/at_cache_entity.json
diff --git a/src/test/resources/AAD_cache_data/at_cache_entity_key.txt b/msal4j-sdk/src/test/resources/AAD_cache_data/at_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/AAD_cache_data/at_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/AAD_cache_data/at_cache_entity_key.txt
diff --git a/src/test/resources/AAD_cache_data/id_token_cache_entity.json b/msal4j-sdk/src/test/resources/AAD_cache_data/id_token_cache_entity.json
similarity index 100%
rename from src/test/resources/AAD_cache_data/id_token_cache_entity.json
rename to msal4j-sdk/src/test/resources/AAD_cache_data/id_token_cache_entity.json
diff --git a/src/test/resources/AAD_cache_data/id_token_cache_entity_key.txt b/msal4j-sdk/src/test/resources/AAD_cache_data/id_token_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/AAD_cache_data/id_token_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/AAD_cache_data/id_token_cache_entity_key.txt
diff --git a/src/test/resources/AAD_cache_data/rt_cache_entity.json b/msal4j-sdk/src/test/resources/AAD_cache_data/rt_cache_entity.json
similarity index 100%
rename from src/test/resources/AAD_cache_data/rt_cache_entity.json
rename to msal4j-sdk/src/test/resources/AAD_cache_data/rt_cache_entity.json
diff --git a/src/test/resources/AAD_cache_data/rt_cache_entity_key.txt b/msal4j-sdk/src/test/resources/AAD_cache_data/rt_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/AAD_cache_data/rt_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/AAD_cache_data/rt_cache_entity_key.txt
diff --git a/src/test/resources/AAD_cache_data/token_response.json b/msal4j-sdk/src/test/resources/AAD_cache_data/token_response.json
similarity index 100%
rename from src/test/resources/AAD_cache_data/token_response.json
rename to msal4j-sdk/src/test/resources/AAD_cache_data/token_response.json
diff --git a/src/test/resources/AAD_cache_data/token_response_id_token.json b/msal4j-sdk/src/test/resources/AAD_cache_data/token_response_id_token.json
similarity index 100%
rename from src/test/resources/AAD_cache_data/token_response_id_token.json
rename to msal4j-sdk/src/test/resources/AAD_cache_data/token_response_id_token.json
diff --git a/src/test/resources/Foci_cache_data/account_cache_entity.json b/msal4j-sdk/src/test/resources/Foci_cache_data/account_cache_entity.json
similarity index 100%
rename from src/test/resources/Foci_cache_data/account_cache_entity.json
rename to msal4j-sdk/src/test/resources/Foci_cache_data/account_cache_entity.json
diff --git a/src/test/resources/Foci_cache_data/account_cache_entity_key.txt b/msal4j-sdk/src/test/resources/Foci_cache_data/account_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/Foci_cache_data/account_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/Foci_cache_data/account_cache_entity_key.txt
diff --git a/src/test/resources/Foci_cache_data/app_metadata_cache_entity.json b/msal4j-sdk/src/test/resources/Foci_cache_data/app_metadata_cache_entity.json
similarity index 100%
rename from src/test/resources/Foci_cache_data/app_metadata_cache_entity.json
rename to msal4j-sdk/src/test/resources/Foci_cache_data/app_metadata_cache_entity.json
diff --git a/src/test/resources/Foci_cache_data/app_metadata_cache_entity_key.txt b/msal4j-sdk/src/test/resources/Foci_cache_data/app_metadata_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/Foci_cache_data/app_metadata_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/Foci_cache_data/app_metadata_cache_entity_key.txt
diff --git a/src/test/resources/Foci_cache_data/at_cache_entity.json b/msal4j-sdk/src/test/resources/Foci_cache_data/at_cache_entity.json
similarity index 100%
rename from src/test/resources/Foci_cache_data/at_cache_entity.json
rename to msal4j-sdk/src/test/resources/Foci_cache_data/at_cache_entity.json
diff --git a/src/test/resources/Foci_cache_data/at_cache_entity_key.txt b/msal4j-sdk/src/test/resources/Foci_cache_data/at_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/Foci_cache_data/at_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/Foci_cache_data/at_cache_entity_key.txt
diff --git a/src/test/resources/Foci_cache_data/id_token_cache_entity.json b/msal4j-sdk/src/test/resources/Foci_cache_data/id_token_cache_entity.json
similarity index 100%
rename from src/test/resources/Foci_cache_data/id_token_cache_entity.json
rename to msal4j-sdk/src/test/resources/Foci_cache_data/id_token_cache_entity.json
diff --git a/src/test/resources/Foci_cache_data/id_token_cache_entity_key.txt b/msal4j-sdk/src/test/resources/Foci_cache_data/id_token_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/Foci_cache_data/id_token_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/Foci_cache_data/id_token_cache_entity_key.txt
diff --git a/src/test/resources/Foci_cache_data/rt_cache_entity.json b/msal4j-sdk/src/test/resources/Foci_cache_data/rt_cache_entity.json
similarity index 100%
rename from src/test/resources/Foci_cache_data/rt_cache_entity.json
rename to msal4j-sdk/src/test/resources/Foci_cache_data/rt_cache_entity.json
diff --git a/src/test/resources/Foci_cache_data/rt_cache_entity_key.txt b/msal4j-sdk/src/test/resources/Foci_cache_data/rt_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/Foci_cache_data/rt_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/Foci_cache_data/rt_cache_entity_key.txt
diff --git a/src/test/resources/Foci_cache_data/token_response.json b/msal4j-sdk/src/test/resources/Foci_cache_data/token_response.json
similarity index 100%
rename from src/test/resources/Foci_cache_data/token_response.json
rename to msal4j-sdk/src/test/resources/Foci_cache_data/token_response.json
diff --git a/src/test/resources/Foci_cache_data/token_response_id_token.json b/msal4j-sdk/src/test/resources/Foci_cache_data/token_response_id_token.json
similarity index 100%
rename from src/test/resources/Foci_cache_data/token_response_id_token.json
rename to msal4j-sdk/src/test/resources/Foci_cache_data/token_response_id_token.json
diff --git a/src/test/resources/MSA_cache_data/account_cache_entity.json b/msal4j-sdk/src/test/resources/MSA_cache_data/account_cache_entity.json
similarity index 100%
rename from src/test/resources/MSA_cache_data/account_cache_entity.json
rename to msal4j-sdk/src/test/resources/MSA_cache_data/account_cache_entity.json
diff --git a/src/test/resources/MSA_cache_data/account_cache_entity_key.txt b/msal4j-sdk/src/test/resources/MSA_cache_data/account_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/MSA_cache_data/account_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/MSA_cache_data/account_cache_entity_key.txt
diff --git a/src/test/resources/MSA_cache_data/at_cache_entity.json b/msal4j-sdk/src/test/resources/MSA_cache_data/at_cache_entity.json
similarity index 100%
rename from src/test/resources/MSA_cache_data/at_cache_entity.json
rename to msal4j-sdk/src/test/resources/MSA_cache_data/at_cache_entity.json
diff --git a/src/test/resources/MSA_cache_data/at_cache_entity_key.txt b/msal4j-sdk/src/test/resources/MSA_cache_data/at_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/MSA_cache_data/at_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/MSA_cache_data/at_cache_entity_key.txt
diff --git a/src/test/resources/MSA_cache_data/id_token_cache_entity.json b/msal4j-sdk/src/test/resources/MSA_cache_data/id_token_cache_entity.json
similarity index 100%
rename from src/test/resources/MSA_cache_data/id_token_cache_entity.json
rename to msal4j-sdk/src/test/resources/MSA_cache_data/id_token_cache_entity.json
diff --git a/src/test/resources/MSA_cache_data/id_token_cache_entity_key.txt b/msal4j-sdk/src/test/resources/MSA_cache_data/id_token_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/MSA_cache_data/id_token_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/MSA_cache_data/id_token_cache_entity_key.txt
diff --git a/src/test/resources/MSA_cache_data/rt_cache_entity.json b/msal4j-sdk/src/test/resources/MSA_cache_data/rt_cache_entity.json
similarity index 100%
rename from src/test/resources/MSA_cache_data/rt_cache_entity.json
rename to msal4j-sdk/src/test/resources/MSA_cache_data/rt_cache_entity.json
diff --git a/src/test/resources/MSA_cache_data/rt_cache_entity_key.txt b/msal4j-sdk/src/test/resources/MSA_cache_data/rt_cache_entity_key.txt
similarity index 100%
rename from src/test/resources/MSA_cache_data/rt_cache_entity_key.txt
rename to msal4j-sdk/src/test/resources/MSA_cache_data/rt_cache_entity_key.txt
diff --git a/src/test/resources/MSA_cache_data/token_response.json b/msal4j-sdk/src/test/resources/MSA_cache_data/token_response.json
similarity index 100%
rename from src/test/resources/MSA_cache_data/token_response.json
rename to msal4j-sdk/src/test/resources/MSA_cache_data/token_response.json
diff --git a/src/test/resources/MSA_cache_data/token_response_id_token.json b/msal4j-sdk/src/test/resources/MSA_cache_data/token_response_id_token.json
similarity index 100%
rename from src/test/resources/MSA_cache_data/token_response_id_token.json
rename to msal4j-sdk/src/test/resources/MSA_cache_data/token_response_id_token.json
diff --git a/src/test/resources/cache_data/multi-cloud-account-cache.json b/msal4j-sdk/src/test/resources/cache_data/multi-cloud-account-cache.json
similarity index 100%
rename from src/test/resources/cache_data/multi-cloud-account-cache.json
rename to msal4j-sdk/src/test/resources/cache_data/multi-cloud-account-cache.json
diff --git a/src/test/resources/cache_data/multi-tenant-account-cache.json b/msal4j-sdk/src/test/resources/cache_data/multi-tenant-account-cache.json
similarity index 100%
rename from src/test/resources/cache_data/multi-tenant-account-cache.json
rename to msal4j-sdk/src/test/resources/cache_data/multi-tenant-account-cache.json
diff --git a/src/test/resources/cache_data/remove-account-test-cache.json b/msal4j-sdk/src/test/resources/cache_data/remove-account-test-cache.json
similarity index 100%
rename from src/test/resources/cache_data/remove-account-test-cache.json
rename to msal4j-sdk/src/test/resources/cache_data/remove-account-test-cache.json
diff --git a/src/test/resources/cache_data/serialized_cache.json b/msal4j-sdk/src/test/resources/cache_data/serialized_cache.json
similarity index 100%
rename from src/test/resources/cache_data/serialized_cache.json
rename to msal4j-sdk/src/test/resources/cache_data/serialized_cache.json
diff --git a/src/test/resources/instance_discovery_data/aad_instance_discovery_response_invalid_json.json b/msal4j-sdk/src/test/resources/instance_discovery_data/aad_instance_discovery_response_invalid_json.json
similarity index 100%
rename from src/test/resources/instance_discovery_data/aad_instance_discovery_response_invalid_json.json
rename to msal4j-sdk/src/test/resources/instance_discovery_data/aad_instance_discovery_response_invalid_json.json
diff --git a/src/test/resources/instance_discovery_data/aad_instance_discovery_response_valid.json b/msal4j-sdk/src/test/resources/instance_discovery_data/aad_instance_discovery_response_valid.json
similarity index 100%
rename from src/test/resources/instance_discovery_data/aad_instance_discovery_response_valid.json
rename to msal4j-sdk/src/test/resources/instance_discovery_data/aad_instance_discovery_response_valid.json
diff --git a/src/test/resources/mex-2005-response.xml b/msal4j-sdk/src/test/resources/mex-2005-response.xml
similarity index 100%
rename from src/test/resources/mex-2005-response.xml
rename to msal4j-sdk/src/test/resources/mex-2005-response.xml
diff --git a/src/test/resources/mex-response-integrated.xml b/msal4j-sdk/src/test/resources/mex-response-integrated.xml
similarity index 100%
rename from src/test/resources/mex-response-integrated.xml
rename to msal4j-sdk/src/test/resources/mex-response-integrated.xml
diff --git a/src/test/resources/mex-response.xml b/msal4j-sdk/src/test/resources/mex-response.xml
similarity index 100%
rename from src/test/resources/mex-response.xml
rename to msal4j-sdk/src/test/resources/mex-response.xml
diff --git a/src/test/resources/token-error.xml b/msal4j-sdk/src/test/resources/token-error.xml
similarity index 100%
rename from src/test/resources/token-error.xml
rename to msal4j-sdk/src/test/resources/token-error.xml
diff --git a/src/test/resources/token.xml b/msal4j-sdk/src/test/resources/token.xml
similarity index 100%
rename from src/test/resources/token.xml
rename to msal4j-sdk/src/test/resources/token.xml
diff --git a/src/main/java/com/microsoft/aad/msal4j/B2CAuthority.java b/src/main/java/com/microsoft/aad/msal4j/B2CAuthority.java
deleted file mode 100644
index bc94f7bf..00000000
--- a/src/main/java/com/microsoft/aad/msal4j/B2CAuthority.java
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-package com.microsoft.aad.msal4j;
-
-import lombok.AccessLevel;
-import lombok.Getter;
-import lombok.experimental.Accessors;
-
-import java.net.URL;
-
-@Accessors(fluent = true)
-@Getter(AccessLevel.PACKAGE)
-class B2CAuthority extends Authority {
-
- private final static String AUTHORIZATION_ENDPOINT = "/oauth2/v2.0/authorize";
- private final static String TOKEN_ENDPOINT = "/oauth2/v2.0/token";
-
- private final static String B2C_AUTHORIZATION_ENDPOINT_FORMAT = "https://%s/%s/%s" + AUTHORIZATION_ENDPOINT;
- private final static String B2C_TOKEN_ENDPOINT_FORMAT = "https://%s/%s" + TOKEN_ENDPOINT + "?p=%s";
- private String policy;
-
- B2CAuthority(final URL authorityUrl) {
- super(authorityUrl, AuthorityType.B2C);
- setAuthorityProperties();
- }
-
- private void validatePathSegments(String[] segments) {
- if (segments.length < 3) {
- throw new IllegalArgumentException(
- "B2C 'authority' Uri should have at least 3 segments in the path " +
- "(i.e. https:///tfp///...)");
- }
- }
-
- private void setAuthorityProperties() {
- String[] segments = canonicalAuthorityUrl.getPath().substring(1).split("/");
-
- validatePathSegments(segments);
-
- policy = segments[2];
-
- final String b2cAuthorityFormat = "https://%s/%s/%s/%s/";
- this.authority = String.format(
- b2cAuthorityFormat,
- canonicalAuthorityUrl.getAuthority(),
- segments[0],
- segments[1],
- segments[2]);
-
- this.authorizationEndpoint = String.format(B2C_AUTHORIZATION_ENDPOINT_FORMAT, host, tenant, policy);
- this.tokenEndpoint = String.format(B2C_TOKEN_ENDPOINT_FORMAT, host, tenant, policy);
- this.selfSignedJwtAudience = this.tokenEndpoint;
- }
-}