microsoft / vsts-authentication-library-for-java

Retrieve OAuth2 or Personal Accesss Tokens for Visual Studio Team Services (visualstudio.com) accounts. Also provides secure storage for those secrets on different platforms.
MIT License
18 stars 20 forks source link

Windows server Credential manager save not working #45

Open samrajcse opened 1 year ago

samrajcse commented 1 year ago

Hi Team, I am trying to save the credentials via auth-secure-storage API. It is working fine in windows 10. But throwing error in Windows 2019 server.

Error log:

Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61) Caused by: java.lang.UnsatisfiedLinkError: C:\Users\samraj\AppData\Local\Temp\5\jna--909673508\jna1174734716952454249.dll: Can't find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817) at java.lang.Runtime.load0(Runtime.java:782) at java.lang.System.load(System.java:1100) at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:851) at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:826) at com.sun.jna.Native.(Native.java:140) at com.microsoft.alm.storage.windows.internal.CredAdvapi32.(CredAdvapi32.java:26) at com.microsoft.alm.storage.windows.internal.CredManagerBackedSecureStore.getCredAdvapi32Instance(CredManagerBackedSecureStore.java:218) at com.microsoft.alm.storage.windows.internal.CredManagerBackedSecureStore.(CredManagerBackedSecureStore.java:28) at com.microsoft.alm.storage.windows.CredManagerBackedCredentialStore.(CredManagerBackedCredentialStore.java:9) at com.user.credential.manager.impl.SystemCredentialManagerImpl.setCredential(SystemCredentialManagerImpl.java:78) at com.user.credential.manager.helper.CredentialManagerHelper.saveCredential(CredentialManagerHelper.java:95) at com.user.credential.manager.console.CredentialSaver.main(CredentialSaver.java:44) ... 5 more

Colbix commented 1 year ago

Based on the error, check that you have the JNA library installed and check which version for compatibility.