2016-03-01 3 views
0

* EDIT: Сотрудник IBM посетил нас сегодня, чтобы посмотреть на эту проблему. Мы не решили проблему, но мы считаем, что корень проблемы - это нечто иное. Поэтому я переписал описание проблемы.mobilefirst 7.1 аутентификация не работает

Сервер отказывается от соединения из-за ошибки appAuthenticityTest. Поэтому пока мы отключили приложение AppAuthenticityTest, чтобы проверить конфигурацию сервера.

Но теперь мы видим следующие ошибки в журнале:

[3/4/16 16:12:06:529 CET] 000000a4 LoginContext E com.worklight.core.auth.impl.LoginContext processRequest FWLSE0059E: Login into realm 'wl_authenticityLoginModule' failed. Missing app authenticity configuration parameters. [project mapruntime] 
           com.worklight.gadgets.GadgetRuntimeException: Missing app authenticity configuration parameters 
    at com.worklight.core.auth.ext.appauth.AuthenticityAuthenticatorImpl.processRequest(AuthenticityAuthenticatorImpl.java:82) 
    at com.worklight.core.auth.ext.AuthenticityAuthenticator.processRequest(AuthenticityAuthenticator.java:79) 
    at com.worklight.core.auth.impl.LoginContext.processRequest(LoginContext.java:212) 
    at com.worklight.core.auth.impl.AuthenticationContext.checkAuthentication(AuthenticationContext.java:779) 
    at com.worklight.core.auth.impl.AuthenticationContext.processRealms(AuthenticationContext.java:679) 
    at com.worklight.core.auth.impl.AuthenticationContext.pushCurrentResource(AuthenticationContext.java:652) 
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:81) 
    at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:228) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
    at com.worklight.analytics.AnalyticsFilter.doFilter(AnalyticsFilter.java:124) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107) 
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3926) 
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1007) 
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817) 
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287) 
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1049) 
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:717) 
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyHandshakeCompletedCallback.complete(SSLConnectionLink.java:413) 
    at com.ibm.ws.ssl.channel.impl.SSLUtils.handleHandshake(SSLUtils.java:1073) 
    at com.ibm.ws.ssl.channel.impl.SSLHandshakeIOCallback.complete(SSLHandshakeIOCallback.java:87) 
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) 
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881) 

[3/4/16 16:12:06:537 CET] 000000a4 LoginContext E com.worklight.core.auth.impl.LoginContext processRequest FWLSE0117E: Error code: 4, error description: AUTHENTICATION_ERROR, error message: An error occurred while performing authentication using loginModule wl_authenticityLoginModule, User Identity Not available. [project mapruntime] [project mapruntime] 

Мое приложение-descriptor.xml содержит:

<android securityTest="MAPCertLogin" version="1.0.4"> 
    <worklightSettings include="false"/> 
    <pushSender key="**********" senderId="******"/> 
    <compressWebResources enabled="true"/> 
</android> 
<common securityTest="MAPCertLogin"/> 

Мой authenticationConfig.xml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<tns:loginConfiguration xmlns:tns="http://www.worklight.com/auth/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <!-- Licensed Materials - Property of IBM 
      5725-I43 (C) Copyright IBM Corp. 2006, 2013. All Rights Reserved. 
      US Government Users Restricted Rights - Use, duplication or 
      disclosure restricted by GSA ADP Schedule Contract with IBM Corp. --> 
    <!----> 
    <!-- Sample security tests 
     Even if not used there will be some default webSecurityTest and mobileSecurityTest 
     Attention: if using <testAppAuthenticity/> test below ,<publicSigningKey> element must be added to application-descriptor.xml as well. --> 
    <securityTests> 
     <mobileSecurityTest name="MAPCertLogin">  
      <testUser realm="MAPLoginRealm"/> 
      <testDirectUpdate mode="perRequest"/> 
      <testDeviceId provisioningType="custom" realm="MAPLoginRealm"/> 
      <!-- testAppAuthenticity --> 
     </mobileSecurityTest> 
    <!--  
     <customSecurityTest name="PushSecurityTest"> 
      <test isInternalUserID="true" realm="MAPLoginRealm"/> 
      <test isInternalDeviceID="true" realm="MAPLoginRealm" /> 
     </customSecurityTest> 
     --> 
    </securityTests> 
    <realms> 
     <realm loginModule="StrongDummy" name="SampleAppRealm"> 
      <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className> 
     </realm> 
     <realm loginModule="MAPLoginModule" name="MAPLoginRealm"> 
      <className>com.worklight.core.auth.ext.DeviceAutoProvisioningAuthenticator</className> 
      <parameter name="validate-csr-function" value="Authenticator.validateCSR"/> 
     </realm> 
    </realms> 
    <loginModules> 
     <loginModule expirationInSeconds="-1" name="StrongDummy"> 
      <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
     </loginModule> 
     <loginModule expirationInSeconds="-1" name="requireLogin"> 
      <className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className> 
     </loginModule> 
     <loginModule expirationInSeconds="-1" name="MAPLoginModule"> 
      <className>com.worklight.core.auth.ext.DeviceAutoProvisioningLoginModule</className> 
      <parameter name="validate-certificate-function" value="Authenticator.validateCertificate"/> 
     </loginModule> 
    </loginModules> 
</tns:loginConfiguration> 

Почему мы получаем ошибку «Отсутствующие параметры конфигурации подлинности приложения», имея приложение AppAuthenti CityTest отключен?

С уважением, Стейн

+0

Запустите сервер в режиме трассировки и укажите журналы. То, что вы говорите, «не полезно», может быть полезно. Поскольку в этом нет ничего, чтобы продвинуть его дальше. –

+0

Какие трассы вы хотите установить? Я установил его на * = все, и я закончил с журналом 7,5 МБ за 4 минуты. Как вы хотите, чтобы я делился с вами журналом? Будет ли она содержать информацию, которую нельзя публично публиковать через Интернет? – Stijn

+1

Я понятия не имею. просмотрите журнал, чтобы увидеть, содержит ли он что-то, чего не должно быть. Вы можете загрузить его в любую службу хостинга файлов - Google Drive и т. П. Если вы не хотите, чтобы он был общим, я предлагаю удалить этот вопрос и вместо этого открыть PMR. –

ответ

0

Я считаю, что эта ошибка происходит потому, что вы также пытаетесь реализовать пользовательский Provisioning устройства, однако устройство резервирование требует аутентичности ... так что либо исправить установку подлинности каждого урока Применения аутентичности, или удалить определение обеспечения устройства.

Смежные вопросы