Mobile First 7.1 FWLSE0376E: подписанная JWS подпись ClientId не соответствует идентификатору клиента - PullRequest
0 голосов
/ 28 января 2019

Периодически возникает проблема, в то время как рукопожатие между IOS родной Приложение для MobileFirst 7.1.0.00.20180425-1124

Выводы

  1. Обнаружено, что параметр запроса "scope" отправляется на сервер в виде пустой строки.

Здесь я пытаюсь выполнить WWW-аутентификацию на основе пользовательской аутентификации.

Фактический URL

    http://localhost:8080/BA/authorization/v1/authorization?client_id=rr4a6042193a89c44a8d2415874ef6d279123456
 &isAjaxRequest=true&redirect_uri=http%3A%2F%2Fmfpredirecturi&response_type=code&scope=

Ожидаемый URL

    http://localhost:8080/BA/authorization/v1/authorization?client_id=rr4a6042193a89c44a8d2415874ef6d279123456
&isAjaxRequest=true&redirect_uri=http%3A%2F%2Fmfpredirecturi&response_type=code&scope=UserAuthRealm
Согласно worklight-jee-library.jar - com.worklight.authorization.endpoint.token. TokenEndpoint

открытый ключ не соответствует .

if (!Bytes.areEqual(clientPublicKey, jwsParts.getPublicKey().getEncoded())){
   logger.debug(method, "JWS signature does not match the client ID");
   return false;
 } 

 return true;
Пока что проблема возникла в устройствах iOS 12 .не в другой версии ОС

И, пожалуйста, найдите используемую конфигурацию ..

application-descriptor.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <nativeIOSApp xmlns="http://www.worklight.com/native-ios-descriptor" applicationId="**App" bundleId="com.xxx.mobile" id="**App" platformVersion="7.1.0.00.20160528-1648" securityTest="CustomAppAuthenticityAutoProvTest" version="7.2">

    <displayName>iOS</displayName>
    <description>iOS Mobile App</description>

    <accessTokenExpiration>1800</accessTokenExpiration>
    <userIdentityRealms>UserAuthRealm</userIdentityRealms>
    <pushSender password="*********"/>
    <licenseAppType>APPLICATION</licenseAppType>
    <targetCategory>B2C</targetCategory>
</nativeIOSApp>

conf / authenticationConfig.xml

<realm name="UserAuthRealm" loginModule="CustomAuthLoginModule">
   <className>com.ibm.mfp.CustomUserAuthenticator</className>
</realm>

worklight.properties

mfp.session.independent=true
mfp.attrStore.type=database

Сведения об устройстве

 {
    "x-wl-clientlog-env":"iOSnative",
    "x-wl-clientlog-appversion":"7.0","
    "x-wl-clientlog-model":"iPhone8,2",
    "x-wl-clientlog-osversion":"12.0",
    "x-wl-clientlog-appname":"iOSWLApp"
  } 

Ответ

{
   "error_description":"Client authentication failed",
   "error":"invalid_client"
}

Message.log

00002171 com.worklight.core.auth.impl.AuthorizationFilterUtils
E FWLSE0376E: Подписанная JWS подпись ClientId не соответствует идентификатору клиента

0000285b com.worklight.oauth.validation.Validator
I Сбой проверки подлинности OAuthTAI с состоянием = 401, WWW-Authenticate:Область на предъявителя = "imfAuthentication", scope = ""

Trace.log

[27.01.19.19:08:25:434 GST] 0000285b id = com.worklight.oauth.validation.Validator> validate ENTRY

[27.01.19 19: 08: 25: 434 GST] 0000285b id = com.worklight.oauth.validation.Валидатор 1 проверяет пропущенную_авторизациюion

[27.01.19.19: 08: 25: 434 GST] 0000285b id = com.worklight.oauth.validation.Validator I processErrorCode OAuthTAI Проверка подлинности завершилась неудачно с Status = 401, WWW-Authenticate: Область предъявителя = "imfAuthentication", область действия = ""

[27.01.19 19: 08: 25: 434 GST] 0000285b id = com.worklight.adapters.rest.WLShouldCompressPredicat 1 shouldCompressЗапрос: http://localhost:8080/MA/adapters/AccessAdapter/getDetails disableCompressionAttr = null [27.01.19, 19: 08: 25: 434 GST] 0000285b id = com.worklight.adapters.rest.WLShouldCompressPredicat 1 shouldCompress Request: http://localhost:8080/MA/adapters/AccessAdapter/getDetails acceptGZipEncoding =true

[27.01.19.19: 08: 25: 435 GST] 0000285b id = com.worklight.common.util.BaseProjectLocal 1 unset unset ProjectLocal

[27.01.1919: 08: 25: 435 GST] 0000285b id = com.worklight.common.util.BaseProjectLocal 3 unset java.lang.Throwable на com.worklight.common.util.BaseProjectLocal.unset (BaseProjectLocal.java:114) на com.worklight.core.auth.impl.MFPRequestListener.requestDestroyed (MFPRequestListener.java:24)на com.ibm.ws.webcontainer.webapp.WebApp.notifyServletRequestDestroyed (WebApp.java:2747)

...