Hi,

Discussed a solution for this with Johann.

According to the SAML specification it's not mandatory to have the
"SessionOnOrAfter" attribute within the "AuthnStatement" though the plugin
code checks for that. If it's necessary you can add it by modifying the
buildSAMLAssertion method in ResponseBuilder class.

On Wed, Feb 11, 2015 at 11:40 AM, Nirmani Meegahathenna <[email protected]>
wrote:

> Kind Reminder on this issue.
>
> On Tue, Feb 10, 2015 at 3:38 PM, Nirmani Meegahathenna <[email protected]>
> wrote:
>
>> Adding to Dev group
>>
>> On Tue, Feb 10, 2015 at 3:04 PM, Nirmani Meegahathenna <[email protected]>
>> wrote:
>>
>>> Hi,
>>>
>>> I'm trying to integrate Jira and IS for SSO provisioning. Using LastPass
>>> Jira SAML Plugin for this.
>>> https://github.com/lastpass/jira-saml
>>>
>>> When a user tries to log in, the request is sent to IS and an
>>> authentication response is sent back to Jira. And then I'm getting a server
>>> 500 error due to a NullPointerException. Below is the error log.
>>>
>>>> Referer URL: *Unknown*
>>>>
>>>> java.lang.NullPointerException
>>>>
>>>> java.lang.NullPointerException
>>>>    at com.lastpass.saml.SAMLClient.validate(SAMLClient.java:219)
>>>>    at com.lastpass.saml.SAMLClient.validateResponse(SAMLClient.java:429)
>>>>    at 
>>>> com.lastpass.jira.SAMLAuthenticator.getUser(SAMLAuthenticator.java:165)
>>>>    at 
>>>> com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:136)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:172)
>>>>    at 
>>>> com.atlassian.jira.web.filters.JiraLoginFilter.doFilter(JiraLoginFilter.java:70)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
>>>>    at 
>>>> com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:79)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
>>>>    at 
>>>> com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:99)
>>>>    at 
>>>> com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:19)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:71)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
>>>>    at 
>>>> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
>>>>    at 
>>>> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
>>>>    at 
>>>> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:82)
>>>>    at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:59)
>>>>    at 
>>>> com.atlassian.jira.web.filters.gzip.JiraGzipFilter.doFilter(JiraGzipFilter.java:55)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
>>>>    at 
>>>> com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:40)
>>>>    at 
>>>> com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
>>>>    at 
>>>> com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
>>>>    at 
>>>> com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:87)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.core.filters.cache.AbstractCachingFilter.doFilter(AbstractCachingFilter.java:33)
>>>>    at 
>>>> com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:41)
>>>>    at 
>>>> com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
>>>>    at 
>>>> com.atlassian.jira.web.filters.PathMatchingEncodingFilter.doFilter(PathMatchingEncodingFilter.java:49)
>>>>    at 
>>>> com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.jira.startup.JiraStartupChecklistFilter.doFilter(JiraStartupChecklistFilter.java:79)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter.doFilter(MultipartBoundaryCheckFilter.java:41)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:87)
>>>>    at 
>>>> com.atlassian.jira.web.filters.JiraFirstFilter.doFilter(JiraFirstFilter.java:60)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>    at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>    at 
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>>>>    at 
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>>>>    at 
>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
>>>>    at 
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>    at 
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>>>>    at 
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>>>>    at 
>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>>>>    at 
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>    at 
>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
>>>>    at 
>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>>>>    at 
>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>>>>    at 
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>    at 
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>    at 
>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>>>    at java.lang.Thread.run(Thread.java:724)
>>>>
>>>> This is the code snippet where the Exception occurs.
>>>
>>>> for (AuthnStatement as: assertion.getAuthnStatements()) {
>>>>
>>>>                 DateTime exp =
>>>>> as.getSessionNotOnOrAfter().plusSeconds(slack);
>>>>
>>>>                 if (exp != null &&
>>>>
>>>>                     (now.isEqual(exp) || now.isAfter(exp)))
>>>>
>>>>                     throw new ValidationException(
>>>>
>>>>                         "AuthnStatement has expired");
>>>>
>>>>             }
>>>>
>>>> Full code is in here.
>>>
>>> https://github.com/lastpass/saml-sdk-java/blob/master/src/com/lastpass/saml/SAMLClient.java#L219
>>>
>>> This happens because it checks for session's "NotOnOrAfter" attribute
>>> within the "AuthnStatement", but it is outside the "AuthnStatement" in the
>>> SAML Response sent from IS.
>>>
>>> Here is the SAML Response sent from IS.
>>>
>>>> <saml2p:Response Destination="http://localhost:8085/saml_acs.jsp";
>>>>>
>>>>                  ID="ikomjgjecbhlnfkjfjdanfkfeiikllpoehfpbglp"
>>>>
>>>>
>>>>>  
>>>>> InResponseTo="470a8e67051a1cf2c9878e183e98530385c052ae42863df46c431043ed9ba7e7"
>>>>
>>>>                  IssueInstant="2015-02-10T06:11:48.139Z"
>>>>
>>>>                  Version="2.0"
>>>>
>>>>                  xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
>>>>
>>>>                  >
>>>>
>>>> <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
>>>>
>>>>               xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
>>>>
>>>>               >localhost</saml2:Issuer>
>>>>
>>>> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
>>>>
>>>> <ds:SignedInfo>
>>>>
>>>> <ds:CanonicalizationMethod Algorithm="
>>>>> http://www.w3.org/2001/10/xml-exc-c14n#"; />
>>>>
>>>> <ds:SignatureMethod Algorithm="
>>>>> http://www.w3.org/2000/09/xmldsig#rsa-sha1"; />
>>>>
>>>> <ds:Reference URI="#ikomjgjecbhlnfkjfjdanfkfeiikllpoehfpbglp">
>>>>
>>>> <ds:Transforms>
>>>>
>>>> <ds:Transform Algorithm="
>>>>> http://www.w3.org/2000/09/xmldsig#enveloped-signature"; />
>>>>
>>>> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"; />
>>>>
>>>> </ds:Transforms>
>>>>
>>>> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"; />
>>>>
>>>> <ds:DigestValue>pp7QlMArRO18k3QRZPWBcYXb/zg=</ds:DigestValue>
>>>>
>>>> </ds:Reference>
>>>>
>>>> </ds:SignedInfo>
>>>>
>>>>
>>>>> <ds:SignatureValue>YeEsHiFI97brhZl4are0bBmFdp43t7i1ZI5vygUpQdXe/xOxJ50TheZU4e9NDtGzmRUMFPPwOq2/3hMzlNEnhyIA71yOq3DzQXV0qoYmxnWJ3Wzr0Zffm89VzuTpJ/Sg7puW1Jnc6jSAe6pprz/UVXwwqZNgizSVKwJ4a/uP6lo=</ds:SignatureValue>
>>>>
>>>> <ds:KeyInfo>
>>>>
>>>> <ds:X509Data>
>>>>
>>>>
>>>>> <ds:X509Certificate>MIICNTCCAZ6gAwIBAgIES343gjANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxDTALBgNVBAoMBFdTTzIxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0xMDAyMTkwNzAyMjZaFw0zNTAyMTMwNzAyMjZaMFUxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzENMAsGA1UECgwEV1NPMjESMBAGA1UEAwwJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCUp/oV1vWc8/TkQSiAvTousMzOM4asB2iltr2QKozni5aVFu818MpOLZIr8LMnTzWllJvvaA5RAAdpbECb+48FjbBe0hseUdN5HpwvnH/DW8ZccGvk53I6Orq7hLCv1ZHtuOCokghz/ATrhyPq+QktMfXnRS4HrKGJTzxaCcU7OQIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcNAQEFBQADgYEAW5wPR7cr1LAdq+IrR44iQlRG5ITCZXY9hI0PygLP2rHANh+PYfTmxbuOnykNGyhM6FjFLbW2uZHQTY1jMrPprjOrmyK5sjJRO4d1DeGHT/YnIjs9JogRKv4XHECwLtIVdAbIdWHEtVZJyMSktcyysFcvuhPQK8Qc/E/Wq8uHSCo=</ds:X509Certificate>
>>>>
>>>> </ds:X509Data>
>>>>
>>>> </ds:KeyInfo>
>>>>
>>>> </ds:Signature>
>>>>
>>>> <saml2p:Status>
>>>>
>>>> <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
>>>>
>>>> </saml2p:Status>
>>>>
>>>> <saml2:Assertion ID="bgjkdehpojbjkllkmgpegofieacjnjfgbenlnhkb"
>>>>
>>>>                  IssueInstant="2015-02-10T06:11:48.141Z"
>>>>
>>>>                  Version="2.0"
>>>>
>>>>                  xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
>>>>
>>>>                  >
>>>>
>>>> <saml2:Issuer
>>>>> Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">localhost</saml2:Issuer>
>>>>
>>>> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
>>>>
>>>> <ds:SignedInfo>
>>>>
>>>> <ds:CanonicalizationMethod Algorithm="
>>>>> http://www.w3.org/2001/10/xml-exc-c14n#"; />
>>>>
>>>> <ds:SignatureMethod Algorithm="
>>>>> http://www.w3.org/2000/09/xmldsig#rsa-sha1"; />
>>>>
>>>> <ds:Reference URI="#bgjkdehpojbjkllkmgpegofieacjnjfgbenlnhkb">
>>>>
>>>> <ds:Transforms>
>>>>
>>>> <ds:Transform Algorithm="
>>>>> http://www.w3.org/2000/09/xmldsig#enveloped-signature"; />
>>>>
>>>> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"; />
>>>>
>>>> </ds:Transforms>
>>>>
>>>> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"; />
>>>>
>>>> <ds:DigestValue>3vMPs2Ks1e2C3mHLAYWmzsHMyfc=</ds:DigestValue>
>>>>
>>>> </ds:Reference>
>>>>
>>>> </ds:SignedInfo>
>>>>
>>>>
>>>>> <ds:SignatureValue>A2FMg9XlfTmngFQLMWBvOZcvwWPZUrK68aZPJLFSD5GHl9ZMN2cNbebj1XW7frocnbaYO48VUzdXG+Wl3rVzHAtIYQ5VlDC+5DNyTBYvqps8LmRV5OzVcevBgeqr/miOkixuCrcOeTvYVHh3RNuHMAM/IE35/xa8/wMuklNrwl8=</ds:SignatureValue>
>>>>
>>>> <ds:KeyInfo>
>>>>
>>>> <ds:X509Data>
>>>>
>>>>
>>>>> <ds:X509Certificate>MIICNTCCAZ6gAwIBAgIES343gjANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxDTALBgNVBAoMBFdTTzIxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0xMDAyMTkwNzAyMjZaFw0zNTAyMTMwNzAyMjZaMFUxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzENMAsGA1UECgwEV1NPMjESMBAGA1UEAwwJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCUp/oV1vWc8/TkQSiAvTousMzOM4asB2iltr2QKozni5aVFu818MpOLZIr8LMnTzWllJvvaA5RAAdpbECb+48FjbBe0hseUdN5HpwvnH/DW8ZccGvk53I6Orq7hLCv1ZHtuOCokghz/ATrhyPq+QktMfXnRS4HrKGJTzxaCcU7OQIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcNAQEFBQADgYEAW5wPR7cr1LAdq+IrR44iQlRG5ITCZXY9hI0PygLP2rHANh+PYfTmxbuOnykNGyhM6FjFLbW2uZHQTY1jMrPprjOrmyK5sjJRO4d1DeGHT/YnIjs9JogRKv4XHECwLtIVdAbIdWHEtVZJyMSktcyysFcvuhPQK8Qc/E/Wq8uHSCo=</ds:X509Certificate>
>>>>
>>>> </ds:X509Data>
>>>>
>>>> </ds:KeyInfo>
>>>>
>>>> </ds:Signature>
>>>>
>>>> <saml2:Subject>
>>>>
>>>> <saml2:NameID
>>>>> Format="urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress">admina</saml2:NameID>
>>>>
>>>> <saml2:SubjectConfirmation
>>>>> Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
>>>>
>>>> <saml2:SubjectConfirmationData
>>>>> InResponseTo="470a8e67051a1cf2c9878e183e98530385c052ae42863df46c431043ed9ba7e7"
>>>>
>>>>                                NotOnOrAfter="2015-02-10T06:16:48.139Z"
>>>>
>>>>                                Recipient="
>>>>> http://localhost:8085/saml_acs.jsp";
>>>>
>>>>                                />
>>>>
>>>> </saml2:SubjectConfirmation>
>>>>
>>>> </saml2:Subject>
>>>>
>>>> <saml2:Conditions NotBefore="2015-02-10T06:11:48.141Z"
>>>>
>>>>                   NotOnOrAfter="2015-02-10T06:16:48.139Z"
>>>>
>>>>                   >
>>>>
>>>> <saml2:AudienceRestriction>
>>>>
>>>> <saml2:Audience>http://localhost:8085/secure/Dashboard.jspa
>>>>> </saml2:Audience>
>>>>
>>>> </saml2:AudienceRestriction>
>>>>
>>>> </saml2:Conditions>
>>>>
>>>> <saml2:AuthnStatement AuthnInstant="2015-02-10T06:11:48.146Z"
>>>>
>>>>
>>>>>  SessionIndex="2a5faf12-9d84-476c-94c3-e493a04960ae"
>>>>
>>>>                       >
>>>>
>>>> <saml2:AuthnContext>
>>>>
>>>>
>>>>> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml2:AuthnContextClassRef>
>>>>
>>>> </saml2:AuthnContext>
>>>>
>>>> </saml2:AuthnStatement>
>>>>
>>>> </saml2:Assertion>
>>>>
>>>> </saml2p:Response>
>>>>
>>>>
>>> Is there any way I can get session's "NotOnOrAfter" attribute within the
>>> "AuthnStatement" in the SAML Response from IS.
>>>
>>> Thanks and Regards.
>>>
>>> --
>>> Nirmani Meegahathenna
>>> *Software Engineer Intern*
>>> Mobile : +94 (0) 775 507684
>>> [email protected] <[email protected]>
>>>
>>
>>
>>
>> --
>> Nirmani Meegahathenna
>> *Software Engineer Intern*
>> Mobile : +94 (0) 775 507684
>> [email protected] <[email protected]>
>>
>
>
>
> --
> Nirmani Meegahathenna
> *Software Engineer Intern*
> Mobile : +94 (0) 775 507684
> [email protected] <[email protected]>
>



-- 
Nirmani Meegahathenna
*Software Engineer Intern*
Mobile : +94 (0) 775 507684
[email protected] <[email protected]>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to