AzureAD / microsoft-authentication-library-for-java

Microsoft Authentication Library (MSAL) for Java http://aka.ms/aadv2
MIT License
286 stars 143 forks source link

Alternatives to Java 7 #341

Closed felipemoz closed 3 years ago

felipemoz commented 3 years ago

Hello everyone,

I'm CSA, one of our Brazilian customer wants to embedded PowerBI on customized internal portal (built on Java 7). But the authentication library were done on Java 8. They can't embedded using the same code.

How can they solve it? Using legacy java frames?

Best Regards

ernani commented 3 years ago

When changing the source and target to 1.7 in the pom.xml of this project:

I get the following issue regarding the usage of

/app/src/main/java/com/embedsample/appownsdata/services/AzureADService.java:[77,64] cannot access java.util.concurrent.CompletableFuture

Details here:

[INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:35 min [INFO] Finished at: 2021-01-19T22:58:18Z [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project appownsdatasample: Compilation failure [ERROR] /app/src/main/java/com/embedsample/appownsdata/services/AzureADService.java:[77,64] cannot access java.util.concurrent.CompletableFuture [ERROR] class file for java.util.concurrent.CompletableFuture not found

Any plans to target 1.7 Java SDK?

sangonzal commented 3 years ago

@felipemoz @ernani We currently don't have any plans for supporting Java 7. Java 8 APIs are used throughout the code, so MSAL will not compile on Java 7 unless those are removed.

I'm not very familiar with how PowerBi uses MSAL - is the customer using MSAL directly to acquire tokens, or does the customer provide the configuration values to PowerBi which then acquires the tokens ?

felipemoz commented 3 years ago

Hi @sangonzal, thanks for your answear. Take a look in this demo repo: https://github.com/microsoft/PowerBI-Developer-Samples/tree/master/Java That is exactly the same behavior.

What about alternatives? Wich is your recommendation?

sangonzal commented 3 years ago

@felipemoz I see, thanks for the link. I would say the best alternative would be to use a 3rd Party Open Source OAuth2.0 library that works on Java 7 to acquire tokens. You would replace the code in AzureADService in that sample away from using MSAL to using whatever library you choose to use. This site has some options for client side libraries that you could use.

sangonzal commented 3 years ago

Closing issue as questions was answered. Feel free to ask any other questions.