Hi Thanuja,

This issue got resolved by updating version into 1.0.0-m2. Now I am
getting BundleContext is null exception.

java.lang.IllegalStateException: BundleContext is null.
> at
> org.wso2.carbon.security.caas.internal.CarbonSecurityDataHolder.getBundleContext(CarbonSecurityDataHolder.java:125)
> at
> org.wso2.carbon.security.caas.api.util.CarbonSecurityUtils.getCallbackHandlers(CarbonSecurityUtils.java:39)
> at
> org.wso2.carbon.security.caas.api.ProxyCallbackHandler.handle(ProxyCallbackHandler.java:65)
> at
> javax.security.auth.login.LoginContext$SecureCallbackHandler$1.run(LoginContext.java:939)
> at
> javax.security.auth.login.LoginContext$SecureCallbackHandler$1.run(LoginContext.java:936)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> javax.security.auth.login.LoginContext$SecureCallbackHandler.handle(LoginContext.java:936)
> at
> org.wso2.carbon.security.caas.api.module.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:103)
> 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:497)
> at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
> at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
> at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
> at
> org.wso2.carbon.uuf.sample.simpleauth.bundle.SimpleAuthHandler.authenticateByCaas(SimpleAuthHandler.java:60)


When debugging found that CarbonSecurityComponent's @Activate method[1] is
not invoked by OSGi. Then checked bundles on osgi console,  both fragment
and bundle is Active.

   79|Active        |    4|org.wso2.carbon.security.caas (1.0.0.m2)
>    80|Resolved   |    1|org.wso2.carbon.security.caas.boot (1.0.0.m2)


Any thoughts on resolving this issue?

[1]
https://github.com/wso2/carbon-security/blob/release-1.0.0-m2/components/org.wso2.carbon.security.caas/src/main/java/org/wso2/carbon/security/caas/internal/CarbonSecurityComponent.java#L80

On Tue, Jul 26, 2016 at 6:18 PM, Thanuja Jayasinghe <[email protected]>
wrote:

> Hi Rasika,
>
> This issue happens when 'carbon-security-caas' module does not activate
> properly. Can you debug the code [1], and check whether activate method is
> getting called.
>
> [1] -
> https://github.com/wso2/carbon-security/blob/master/components/org.wso2.carbon.security.caas/src/main/java/org/wso2/carbon/security/caas/internal/CarbonSecurityComponent.java#L80
>
> Thanks,
>
> On Mon, Jul 25, 2016 at 7:09 PM, Rasika Perera <[email protected]> wrote:
>
>> Hi All,
>>
>> I am trying to invoke basic authentication with CAAS. I have installed
>> "org.wso2.carbon.security.caas.feature" and imported following packages;
>>
>> org.wso2.carbon.security.caas.api.*,
>> org.wso2.carbon.kernel.context,
>> org.wso2.carbon.messaging
>>
>> Further I have added config location into the startup script;
>>
>> -Djava.security.auth.login.config="$CARBON_HOME/conf/security/carbon-jaas.config"\
>>
>> My code snippet is as below (based on JAAS sample[1]);
>>
>> PrivilegedCarbonContext.destroyCurrentContext();
>> CarbonMessage carbonMessage = new DefaultCarbonMessage();
>> carbonMessage.setHeader("Authorization", "Basic " + Base64.getEncoder()
>>         .encodeToString("admin:admin".getBytes())
>> );
>>
>> ProxyCallbackHandler callbackHandler = new 
>> ProxyCallbackHandler(carbonMessage);
>> LoginContext loginContext = new LoginContext("CarbonSecurityConfig", 
>> callbackHandler);
>> loginContext.login();
>>
>> ​I am getting following error at the line "loginContext.login()";
>>
>> Caused by: javax.security.auth.login.LoginException: unable to find
>> LoginModule class:
>> org.wso2.carbon.security.caas.api.module.UsernamePasswordLoginModule
>> at javax.security.auth.login.LoginContext.invoke(LoginContext.java:794)
>> at
>> javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
>> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
>> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>> at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
>> at
>> org.wso2.carbon.uuf.sample.simpleauth.bundle.SimpleAuthHandler.authenticate(SimpleAuthHandler.java:45)
>>
>> Further I have found this occurs when LoginContext is trying load the
>> class "UsernamePasswordLoginModule" using Bootstrap class loader.
>>
>> Any thoughts on how to fix this issue?
>>
>> [1]
>> https://github.com/wso2/carbon-security/blob/master/tests/osgi-tests/src/test/java/org/wso2/carbon/security/caas/test/osgi/JAASTests.java
>> --
>> With Regards,
>>
>> *Rasika Perera*
>> Software Engineer
>> LinkedIn: http://lk.linkedin.com/in/rasika90
>>
>> [image: wso2-signature-general.png] <https://wso2.com/signature>
>>
>> WSO2 Inc. www.wso2.com
>> lean.enterprise.middleware
>>
>
>
>
> --
> *Thanuja Lakmal*
> Senior Software Engineer
> WSO2 Inc. http://wso2.com/
> *lean.enterprise.middleware*
> Mobile: +94715979891 +94758009992
>



-- 
With Regards,

*Rasika Perera*
Software Engineer
LinkedIn: http://lk.linkedin.com/in/rasika90

[image: wso2-signature-general.png] <https://wso2.com/signature>

WSO2 Inc. www.wso2.com
lean.enterprise.middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to