Skip to content

Commit

Permalink
MSAL Java/MSALRuntime integration (#590)
Browse files Browse the repository at this point in the history
* Add IBroker implementation for MSALRuntime

* Remove dll used during testing

* Integrate broker steps to relevant flows in PublicClientApplication

* Add logic to cancel MsalRuntimeFutures

* Expand javadocs and exception handling

* Address code review comments

* Simplify future chaining, address code review comments

* Reorganize future chaining, fix testing issues

* Adjust how broker availability is checked

* Create automated test

* Adjust startup logic

* Correct version number for interop

* Correct broker versioning

* Move broker tests to MSAL Java package

* Remove usage of msal4j-brokers from msal4j

* Add missing SLFJ dependency

* Use newest msal4j

* Bump javamsalruntime version number

* Version changes for 1.14.0-beta release (#589)

* Add missing pom info needed by sonatype

* APIs for toggling MSALRuntime's logging (#608)

* Add APIs for toggling MSALRuntime's logging systems

* Rename logging methods to be more clear

* Add support for POP tokens to MSAL Java and MSAL Java Brokers (#639)

* Version changes for 1.14.0-beta release

* regional endpoint change to always use login.microsoft.com

* Add support for both current and legacy B2C authority formats (#594)

* Add support for both current and legacy B2C authority formats

* Fix B2C format test

* add 2 seconds timeout while calling IMDS

* Fix failing tests

* Fix failing tests

* delete commented out code

* Use the dedicated admin consent endpoint instead of a query parameter (#599)

* updated versions for release

* update condition to throw exception

* added test for invalid authority

* Add tests for a CIAM user and reduce test code duplication (#603)

* Add tests for a CIAM user and reduce code duplication in several test files

* Revert changed method name

* Attempt to resolve credscan flag

* Resolve credscan issues

* Address code review comments

* Use default scope

* expose extraQueryParameters

* expose extraQueryParameters

* ExtraQueryParameters tests

* retrigger the tests

* Updated an existing test case to check added parameters

* Replace exception with warning

* version updates for release

* update json-smart version

* Updated json-smart version 

Updated json-smart version to a 'bug-free' version

* version updates for release

* Initial commit

* add CIAM authority file

* revert authority validation changes

* Fix failing tests

* Fix failing tests

* remove commented out line

* remove unnecessary code

* update exception message for device code flow

* add refresh_in logic

* resolve build issues + address PR comments

* update tests

* updated org-json version to resolve Dependabot alert

* Better redirect URI error handling and dependency upgrade (#633)

* Better error handling for redirect URIs

* Update oauth2-oidc-sdk dependency

* Address review comments

Co-authored-by: Bogdan Gavril <bogavril@microsoft.com>

---------

Co-authored-by: Bogdan Gavril <bogavril@microsoft.com>

* Version updates for 1.13.8 release (#634)

* Version updates for 1.13.8 release

* Update changelog.txt

* Point to MSAL Java reference docs onboarded to Microsoft Learn

* Add support for POP tokens to MSAL Java and MSAL Java Brokers

* Send extraQueryParameters to interop's AuthParameters

* Avoid exposing new PopParameters class, change API to match design doc

* Update msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/InteractiveRequestParameters.java

Co-authored-by: Bogdan Gavril <bogavril@microsoft.com>

* Update msal4j-sdk/src/main/java/com/microsoft/aad/msal4j/InteractiveRequestParameters.java

Co-authored-by: Bogdan Gavril <bogavril@microsoft.com>

* Update change log URl in README.md (#649)

Replaced broken link in change log reference with msal4j-sdk/changelog.txt

* Issue 447

* Feedback incorporation

* enum for os type

* Use enum for HTTP methods

* Add broker tests, address PR review comments

* Improve PoP tests

* Address code review comments

* Version updates

* Re-add extraQueryParameters support

---------

Co-authored-by: siddhijain <siddhijain@microsoft.com>
Co-authored-by: Bogdan Gavril <bogavril@microsoft.com>
Co-authored-by: Dickson Mwendia <64727760+Dickson-Mwendia@users.noreply.github.com>
Co-authored-by: Tamas Csizmadia <tamas@me.com>

* Fix silent issue

* Ensure correlation ID is never null

* Broker fixes and feedback (#733)

* Delete codeql.yml

* Test framework update (#672)

* Initial working tests

* Remove CIAM extra query parameter

* Fix failing tests

* Remove duplicate unit tests

* Remove duplicate unit tests

* Update tests with mocking to use Mockito

* Remove testng and powermock, add junit and mockito

* Remove AbstractMsalTests and PowerMockTestCase

* Fix mistaken null check

* Properly scope dependency

* Update CIAM tests (#673)

* Bump guava from 31.1-jre to 32.0.0-jre in /msal4j-sdk (#671)

Bumps [guava](https://github.com/google/guava) from 31.1-jre to 32.0.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avery-Dunn <avdunn@microsoft.com>

* Delete contributing.md (#667)

Co-authored-by: Avery-Dunn <avdunn@microsoft.com>

* Create Contributing.md (#668)

Co-authored-by: Avery-Dunn <avdunn@microsoft.com>

* Version changes for 1.13.9 (#674)

* Add space between command and arguments when executing linux command to open browser. Refs #682 (#683)

Co-authored-by: Ric Emery <remery@denmartech.com>

* Assorted fixes (#684)

* Remove default timeouts and improve exception messages

* Fix NPE for on-prem ADFS scenario

* Log MSAL message but re-throw exception

* Update vulnerable test dependency

* Issue-679: Fix for Account Cache; .contains() was not possible and you had to iterate through all elements as workaround. (#681)

* Version changes for 1.13.10 (#685)

* Move changelog

* Move changelog to root

* Update issue templates (#707)

* Re-add lombok source line (#705)

* Version changes for release 1.13.11 (#714)

* Update bug report

* Delete .github/ISSUE_TEMPLATE/bug_report.md

* Update bug_report.yaml

* Create FeatureRequest.yaml

* Update FeatureRequest.yaml

* Set default throttling time to 5 sec (#721)

Co-authored-by: Kulyakhtin, Alexander (Ext) <alexander.kulyakhtin_ext@novartis.com>

* Ensure correlation ID is never null

* Rename MsalRuntimeBroker and add builder pattern for better API consistency

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Bogdan Gavril <bogavril@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ric Emery <ric.emery@gmail.com>
Co-authored-by: Ric Emery <remery@denmartech.com>
Co-authored-by: Maximilian Pfeffer <admin@maxpfeffer.de>
Co-authored-by: akulyakhtin <akulyakhtin@gmail.com>
Co-authored-by: Kulyakhtin, Alexander (Ext) <alexander.kulyakhtin_ext@novartis.com>

* Version changes for msal4j-brokers 1.0.3-beta and msal4j 1.14.3-beta (#734)

* Ensure correlation ID is never null

* Version changes for msal4j-brokers 1.0.3-beta and msal4j 1.14.3-beta

* Ensure that builder values for supported OS's are used

* Release 1.14.0/1.0.0 version changes (#736)

* Delete codeql.yml

* Test framework update (#672)

* Initial working tests

* Remove CIAM extra query parameter

* Fix failing tests

* Remove duplicate unit tests

* Remove duplicate unit tests

* Update tests with mocking to use Mockito

* Remove testng and powermock, add junit and mockito

* Remove AbstractMsalTests and PowerMockTestCase

* Fix mistaken null check

* Properly scope dependency

* Update CIAM tests (#673)

* Bump guava from 31.1-jre to 32.0.0-jre in /msal4j-sdk (#671)

Bumps [guava](https://github.com/google/guava) from 31.1-jre to 32.0.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avery-Dunn <avdunn@microsoft.com>

* Delete contributing.md (#667)

Co-authored-by: Avery-Dunn <avdunn@microsoft.com>

* Create Contributing.md (#668)

Co-authored-by: Avery-Dunn <avdunn@microsoft.com>

* Version changes for 1.13.9 (#674)

* Add space between command and arguments when executing linux command to open browser. Refs #682 (#683)

Co-authored-by: Ric Emery <remery@denmartech.com>

* Assorted fixes (#684)

* Remove default timeouts and improve exception messages

* Fix NPE for on-prem ADFS scenario

* Log MSAL message but re-throw exception

* Update vulnerable test dependency

* Issue-679: Fix for Account Cache; .contains() was not possible and you had to iterate through all elements as workaround. (#681)

* Version changes for 1.13.10 (#685)

* Move changelog

* Move changelog to root

* Update issue templates (#707)

* Re-add lombok source line (#705)

* Version changes for release 1.13.11 (#714)

* Update bug report

* Delete .github/ISSUE_TEMPLATE/bug_report.md

* Update bug_report.yaml

* Create FeatureRequest.yaml

* Update FeatureRequest.yaml

* Set default throttling time to 5 sec (#721)

Co-authored-by: Kulyakhtin, Alexander (Ext) <alexander.kulyakhtin_ext@novartis.com>

* Version changes for 1.14.0 msal4j and 1.0.0 msal4j-brokers

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Bogdan Gavril <bogavril@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ric Emery <ric.emery@gmail.com>
Co-authored-by: Ric Emery <remery@denmartech.com>
Co-authored-by: Maximilian Pfeffer <admin@maxpfeffer.de>
Co-authored-by: akulyakhtin <akulyakhtin@gmail.com>
Co-authored-by: Kulyakhtin, Alexander (Ext) <alexander.kulyakhtin_ext@novartis.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: siddhijain <siddhijain@microsoft.com>
Co-authored-by: Bogdan Gavril <bogavril@microsoft.com>
Co-authored-by: Dickson Mwendia <64727760+Dickson-Mwendia@users.noreply.github.com>
Co-authored-by: Tamas Csizmadia <tamas@me.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ric Emery <ric.emery@gmail.com>
Co-authored-by: Ric Emery <remery@denmartech.com>
Co-authored-by: Maximilian Pfeffer <admin@maxpfeffer.de>
Co-authored-by: akulyakhtin <akulyakhtin@gmail.com>
Co-authored-by: Kulyakhtin, Alexander (Ext) <alexander.kulyakhtin_ext@novartis.com>
  • Loading branch information
11 people committed Oct 26, 2023
1 parent 39eb7d8 commit 8f00ea0
Show file tree
Hide file tree
Showing 28 changed files with 1,443 additions and 79 deletions.
17 changes: 15 additions & 2 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
Version 1.13.11
Version 1.14.0
=============
- Hotfix for internal docs generation issue (#705)
- GA release of MSAL Java Brokers package
- Add support for acquiring bearer and proof-of-possession tokens using WAM as the broker (#590)
- Default throttling time for password grant requests lowered to 5 seconds (#721)
- Fix internal docs generation issue (#705)

Version 1.14.1-beta
=============
- Add proof-of-possession token support
- Add MSALRuntime logging support

Version 1.14.0-beta
=============
- Add IBroker interface
- Add app-level parameter for enabling the use of auth brokers

Version 1.13.10
=============
Expand Down
4 changes: 4 additions & 0 deletions msal4j-brokers/changelog.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Version 1.0.0
=============
- Initial release
- Provides the API and dependencies needed to acquire tokens via WAM
73 changes: 67 additions & 6 deletions msal4j-brokers/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.microsoft.azure</groupId>
<artifactId>msal4j-brokers</artifactId>
<version>0.0.1</version>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>msal4j-brokers</name>
<description>
Microsoft Authentication Library for Java - Brokers helps you integrate with the broker
on windows machine to secure Access tokens and refresh tokens.
Microsoft Authentication Library for Java - Brokers is a companion package for MSAL Java that allows easy integration with authentication brokers
</description>
<url>https://github.com/AzureAD/microsoft-authentication-library-for-java</url>
<licenses>
Expand All @@ -22,22 +21,85 @@
<scm>
<url>https://github.com/AzureAD/microsoft-authentication-library-for-java</url>
</scm>
<developers>
<developer>
<id>ms</id>
<name>Microsoft Corporation</name>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.microsoft.azure/msal4j -->
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>msal4j</artifactId>
<version>1.13.2</version>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>javamsalruntime</artifactId>
<version>0.13.10</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>3.14.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.14.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>3.14.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.22.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-security-keyvault-secrets</artifactId>
<version>4.3.5</version>
<scope>test</scope>
</dependency>
</dependencies>

<!-- force https -->
Expand All @@ -60,7 +122,6 @@
</pluginRepository>
</pluginRepositories>
<build>
<sourceDirectory>${project.build.directory}/delombok</sourceDirectory>
<plugins>
<plugin>
<groupId>org.projectlombok</groupId>
Expand Down
Loading

0 comments on commit 8f00ea0

Please sign in to comment.