Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting java.lang.reflect.InvocationTargetException error for Android while Integrating capacitor-plugin-msauth #27

Open
prabhakar1994 opened this issue Aug 9, 2023 · 4 comments

Comments

@prabhakar1994
Copy link

prabhakar1994 commented Aug 9, 2023

Serious error executing plugin
                                                                                                    java.lang.reflect.InvocationTargetException
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138)
                                                                                                    	at com.getcapacitor.Bridge.lambda$callPluginMethod$0(Bridge.java:774)
                                                                                                    	at com.getcapacitor.Bridge.$r8$lambda$ehFTi5f4HhVNFKTbCKAYDkpQYRA(Unknown Source:0)
                                                                                                    	at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:938)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                    	at android.os.Looper.loop(Looper.java:257)
                                                                                                    	at android.os.HandlerThread.run(HandlerThread.java:67)
                                                                                                    Caused by: java.lang.NoSuchMethodError: No virtual method getDefaultAuthority()Lcom/microsoft/identity/common/internal/authorities/Authority; in class Lcom/microsoft/identity/client/PublicClientApplicationConfiguration; or its super classes (declaration of 'com.microsoft.identity.client.PublicClientApplicationConfiguration' appears in /data/app/~~lPyURG7LHldHTWnTMMgiVQ==/com.******.app-SZZPgiX_-Ppoiam_J7UsQg==/base.apk)
                                                                                                    	at nl.recognize.msauthplugin.MsAuthPlugin.getAuthorityUrl(MsAuthPlugin.java:114)
                                                                                                    	at nl.recognize.msauthplugin.MsAuthPlugin.acquireToken(MsAuthPlugin.java:159)
                                                                                                    	at nl.recognize.msauthplugin.MsAuthPlugin.login(MsAuthPlugin.java:56)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                    	at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138) 
                                                                                                    	at com.getcapacitor.Bridge.lambda$callPluginMethod$0(Bridge.java:774) 
                                                                                                    	at com.getcapacitor.Bridge.$r8$lambda$ehFTi5f4HhVNFKTbCKAYDkpQYRA(Unknown Source:0) 
                                                                                                    	at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8) 
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:938) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                    	at android.os.Looper.loop(Looper.java:257) 
                                                                                                    	at android.os.HandlerThread.run(HandlerThread.java:67) 
2023-08-09 11:37:54.045  2111-2570  AndroidRuntime          com.*****.app                     E  FATAL EXCEPTION: CapacitorPlugins
                                                                                                    Process: com.*****.app, PID: 2111
                                                                                                    java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
                                                                                                    	at com.getcapacitor.Bridge.lambda$callPluginMethod$0(Bridge.java:783)
                                                                                                    	at com.getcapacitor.Bridge.$r8$lambda$ehFTi5f4HhVNFKTbCKAYDkpQYRA(Unknown Source:0)
                                                                                                    	at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:938)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                    	at android.os.Looper.loop(Looper.java:257)
                                                                                                    	at android.os.HandlerThread.run(HandlerThread.java:67)
                                                                                                    Caused by: java.lang.reflect.InvocationTargetException
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138)
                                                                                                    	at com.getcapacitor.Bridge.lambda$callPluginMethod$0(Bridge.java:774)
                                                                                                    	at com.getcapacitor.Bridge.$r8$lambda$ehFTi5f4HhVNFKTbCKAYDkpQYRA(Unknown Source:0) 
                                                                                                    	at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8) 
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:938) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                    	at android.os.Looper.loop(Looper.java:257) 
                                                                                                    	at android.os.HandlerThread.run(HandlerThread.java:67) 
                                                                                                    Caused by: java.lang.NoSuchMethodError: No virtual method getDefaultAuthority()Lcom/microsoft/identity/common/internal/authorities/Authority; in class Lcom/microsoft/identity/client/PublicClientApplicationConfiguration; or its super classes (declaration of 'com.microsoft.identity.client.PublicClientApplicationConfiguration' appears in /data/app/~~lPyURG7LHldHTWnTMMgiVQ==/com.******.app-SZZPgiX_-Ppoiam_J7UsQg==/base.apk)
                                                                                                    	at nl.recognize.msauthplugin.MsAuthPlugin.getAuthorityUrl(MsAuthPlugin.java:114)
                                                                                                    	at nl.recognize.msauthplugin.MsAuthPlugin.acquireToken(MsAuthPlugin.java:159)
                                                                                                    	at nl.recognize.msauthplugin.MsAuthPlugin.login(MsAuthPlugin.java:56)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                    	at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:138) 
                                                                                                    	at com.getcapacitor.Bridge.lambda$callPluginMethod$0(Bridge.java:774) 
                                                                                                    	at com.getcapacitor.Bridge.$r8$lambda$ehFTi5f4HhVNFKTbCKAYDkpQYRA(Unknown Source:0) 
                                                                                                    	at com.getcapacitor.Bridge$$ExternalSyntheticLambda3.run(Unknown Source:8) 
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:938) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                    	at android.os.Looper.loop(Looper.java:257) 
                                                                                                    	at android.os.HandlerThread.run(HandlerThread.java:67) 
@prabhakar1994
Copy link
Author

My MainActivity.java Looks like

package com.myappname.app;
import android.os.Bundle;
import com.getcapacitor.BridgeActivity;
import com.getcapacitor.Plugin;
import java.util.ArrayList;
import nl.recognize.msauthplugin.MsAuthPlugin;

public class MainActivity extends BridgeActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        registerPlugin(MsAuthPlugin.class);
    }
}

AndroidManifest..xml added with

<activity android:exported="true" android:name="com.microsoft.identity.client.BrowserTabActivity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data
                    android:scheme="msauth"
                    android:host="com.myappname.app"
                    android:path="/myhashkey" />
            </intent-filter>
        </activity>

And my App.js (React) Contains -- Calling userLogin in useEffect lifecycle

const userLogin = async () => {
     try {
         const result = await MsAuthPlugin.login({
           clientId: process.env.REACT_APP_CLIENTID,
           tenant: process.env.REACT_APP_TENANTID,
           scopes: ["api://****-******-*******/session:scope:user"],
           keyHash: 'myhashkey'
       });
 
       const accessToken = result.accessToken;
       console.log('Authentication successful', result);
       console.log('Authentication accessToken', accessToken);
     } catch (error) {
       console.error('Authentication failed', error);
     }
   };

@bartwesselink
Copy link
Member

Hey @prabhakar1994, thank you for using the plugin. Which version of the plugin & Capacitor do you use?

@prabhakar1994
Copy link
Author

prabhakar1994 commented Aug 21, 2023

@bartwesselink I am using @recognizebv/capacitor-plugin-msauth": "^3.2.0 and @capacitor/cli": "5.2.1.

@dandamoodi
Copy link

@prabhakar1994 could you please share the sample project to checkout?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants