MFP 7.1 - FWLSE0342E: Grant code validation failed

2019-09-09 12:18发布

问题:

Facing Grand code validation failed issue when client request is made for one of the adapter. This happens only in cluster environment. We have configured it as Round Robin.

When running server independently one or the other we don't see this issue. This issue arrises when both are up and running.

Logs from Application server messages.log

[INFO    ] SRVE0242I: [DHSProject] [/DHSProject] [PushWorksApplication]: Initialization successful.
[INFO    ] The following JAX-RS application has been processed: com.ibm.ws.jaxrs.webcontainer.JAXRSDefaultApplicationSubclassProxy
[INFO    ] The server has registered the JAX-RS resource class com.worklight.oauth.TokenValidationEndpoint with @Path(/validation).
[INFO    ] The server has registered the JAX-RS resource class com.worklight.oauth.TokenEndpoint with @Path(/token).
[INFO    ] There are no custom JAX-RS providers defined in the application.
[INFO    ] SRVE0242I: [DHSProject] [/DHSProject] [AuthorizationServer]: Initialization successful.
[AUDIT   ] CWWKZ0001I: Application DHSProject started in 64.058 seconds.
[INFO    ] FWLSE0277I: Creating an ILMT record in the file '/var/opt/IBM/WebSphere/Liberty/usr/servers/mobilefirst/logs/ae6695ccf7cfe74ee108bf753b1a76d5.slmtag'.
[INFO    ] Resource conf/jndi/default.properties not found. This is not an error. Context path is /worklightconsole
[INFO    ] The endpoint used to invoke the MFP administration services is https://MyHostname:443/worklightadmin
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] Detected Liberty farm runtime
[INFO    ] SRVE0242I: [DHSProject] [/DHSProject] [RESTAdaptersServiceServlet]: Initialization successful.
[INFO    ] SRVE0242I: [DHSProject] [/DHSProject] [GadgetAPIServlet]: Initialization successful.
[INFO    ] SRVE0242I: [DHSProject] [/DHSProject] [ClientLogUploaderServlet]: Initialization successful.
[ERROR   ] FWLSE0342E: Grant code validation failed: Grant code was already used. ClientId:0459405be995d13e209ac40d56c1d73a6eee8ec6, sessionId:187AE2B5-1673-41CA-87EB-8BFA0FDC7772, grant code:CkvKJl4tDyIaTtcKb1KiBwYMhaWdvHq60z6PsdbbyPGAv-TnU4RP1Vqldw-qVWLyqmychO0FST_myOJKzaZDnx9zG5ZbtkR1uV34QvW4F-g7rXJdMsG1XdnIVkq5RAJaSVogUNfEGGeMM4W3UbwbISTCKhPbuu3esBzKh86fCRg [project DHSProject]
Grant code was already used
[ERROR   ] FWLSE0342E: Grant code validation failed: Grant code was already used. ClientId:0459405be995d13e209ac40d56c1d73a6eee8ec6, sessionId:17E31752-B5FB-46D0-843C-407893F2417F, grant code:arVpm_yAPDg3Q28uFtBzSP-6PVh6Os-LXSkTcszKeoBANO3TJhW1ydNfej4KvsfhkTEQI7alzdlFsop9QvdzQP_NFh5q7LsHPOSIV5YE6lnBfwzkeKDRMCZnjvOECT7P_hiLdGPzEYFB8vhSHnHusB4jrdkV4a96-LIMOi9cXMY [project DHSProject]
Grant code was already used
[ERROR   ] FWLSE0342E: Grant code validation failed: Grant code was already used. ClientId:0459405be995d13e209ac40d56c1d73a6eee8ec6, sessionId:17E31752-B5FB-46D0-843C-407893F2417F, grant code:JVckFNnonbcw0UpoZ7-Iq7CmXWBgYXofD0cavY_9ctIUN1dIqK3K_WsqSJoUPEAgONSSvyyjBdVNkU5tova_XiYQ7bO_mlcaB2ynQJNQX-X3RU-4yXhaS9zdPkV5o0aBUQGUqN2L7aeArxVi-yTRnQNiDf4UyOzJ0R310efebts [project DHSProject]
Grant code was already used

This is the log from my Mobile device Iphone

Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WORKLIGHT] +[WLClient sharedInstance] in WLClient.m:165 :: IBMMobilieFirstFoundation.framework version = 7.1-2016/01/29 19:42:47
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: SessionTimeoutService elapsedTime :  NaN
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] Constructing
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] open method GET url https://myhostname:443/MYProject/adapters/FaqAdapter/faqs
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name Authorization value Bearer eyJhbGciOiJSUzI1NiIsImpwayI6eyJhbGciOiJSU0EiLCJleHAiOiJBUUFCIiwibW9kIjoiQU1VTDg0WXZiN0RXVVpaUFRlaEIydUVwT2Mwd0ZNLXdPQ05aODFLQTkyYkc4Sm00UlNCNUQyU2xiU2U3UGlQVVZfcmJsd1BrSWQ2NWdvLTExaDg5Y0ltZDQxc0NxcnY4Q3hzVThGYUNVV1Q5TXl6Sy1tR2RBeWJGOTNUWTM2WEVUaC1tMzVGcE9qeG1abXpFVFcxalZZU1N2eDVzNFFjOXZfdDZaTG9ZN0VIOEMySjZucXdwcENqMlhVR1MwWWhLYkNEYWlXRmcwTURTbHNIWWdVaGJqZXloTVdZWHM1WnVKeUc3SmNUQ0V2OENScVdVNEIwMEV3a3hOZUxnRHVTd3RXdVI1MnYtY19vNm41Wi1VODhwRGU3MG51RWVhYmIxX21EQXE0T3cyUTIzakdmR2hCa1Z4OHlhR2NtZjFfMkozbmtvRGJQWF9vR25MbXA0dDltRFpZOCJ9fQ.eyJleHAiOjE0NjE1MTMzMDIsImltZi5zY29wZSI6eyJ3bF9kaXJlY3RVcGRhdGVSZWFsbSI6eyJleHAiOjE0NjE1MTMyODcsIm1hbmRhdG9yeSI6dHJ1ZX0sIndsX3JlbW90ZURpc2FibGVSZWFsbSI6eyJleHAiOjE0NjE1MDk5ODcsIm1hbmRhdG9yeSI6dHJ1ZX0sIndsX2FudGlYU1JGUmVhbG0iOnsiZXhwIjoxNDYxNTEzMjg4LCJtYW5kYXRvcnkiOnRydWV9LCJ3bF9kZXZpY2VOb1Byb3Zpc2lvbmluZ1JlYWxtIjp7ImV4cCI6MTQ2MTUxMzI4NywibWFuZGF0b3J5Ijp0cnVlfSwid2xfYW5vbnltb3VzVXNlclJlYWxtIjp7ImV4cCI6MTQ2MTUxMzI4NywibWFuZGF0b3J5Ijp0cnVlfX0sImlzcyI6Imh0dHBzOlwvXC91YXRjc3Btb2JpbGUuZGhzLmdhLmdvdjo0NDNcL0RIU1Byb2plY3RcL2F1dGhvcml6YXRpb25cLyIsInBybiI6IjA0NTk0MDViZTk5NWQxM2UyMDlhYzQwZDU2YzFkNzNhNmVlZThlYzYifQ.uyvCAj7zER-golAnI5bziibDHcS4ug1j1u20LSICNUHYTj3Dsmp4vxr5A8zZoylzVIDqEyu3PrtVGhIO58Ywjfr-W13n07IFtAGtWBp2a_ELy6z0lJsfy4-6sNW0YHoJxeUj6UeoZJJkUg6lXBa6sMaNebhY7Sfv_CwF_sh_4KsZprpRWhJmI2XPNqNcbpFrhzcFfIPjh0ANhIWDpeJDLcU6Bs4YNCw0yUcHxd2izlwGdBrh4ErlUsrPkSTvSSYOKwicO7s-XtG-4o4SzwfItjtvzjuS6M0SHgtRWUe8pgabf9G9bvK_AalU2IKzYtrOL1GDIM8djcI3MULNM2q25A eyJhbGciOiJSUzI1NiIsImpwayI6eyJhbGciOiJSU0EiLCJleHAiOiJBUUFCIiwibW9kIjoiQU1VTDg0WXZiN0RXVVpaUFRlaEIydUVwT2Mwd0ZNLXdPQ05aODFLQTkyYkc4Sm00UlNCNUQyU2xiU2U3UGlQVVZfcmJsd1BrSWQ2NWdvLTExaDg5Y0ltZDQxc0NxcnY4Q3hzVThGYUNVV1Q5TXl6Sy1tR2RBeWJGOTNUWTM2WEVUaC1tMzVGcE9qeG1abXpFVFcxalZZU1N2eDVzNFFjOXZfdDZaTG9ZN0VIOEMySjZucXdwcENqMlhVR1MwWWhLYkNEYWlXRmcwTURTbHNIWWdVaGJqZXloTVdZWHM1WnVKeUc3SmNUQ0V2OENScVdVNEIwMEV3a3hOZUxnRHVTd3RXdVI1MnYtY19vNm41Wi1VODhwRGU3MG51RWVhYmIxX21EQXE0T3cyUTIzakdmR2hCa1Z4OHlhR2NtZjFfMkozbmtvRGJQWF9vR25MbXA0dDltRFpZOCJ9fQ.eyJleHAiOjE0NjE1MTMzMDIsInN1YiI6Ijo6MDQ1OTQwNWJlOTk1ZDEzZTIwOWFjNDBkNTZjMWQ3M2E2ZWVlOGVjNiIsImltZi5hbmFseXRpY3MiOnsiaWQiOiJEQ1NTTW9iaWxlQXBwIiwiZW52aXJvbm1lbnQiOiJpcGhvbmUiLCJ2ZXJzaW9uIjoiMS4wIn0sImltZi5hcHBsaWNhdGlvbiI6eyJpZCI6IkRDU1NNb2JpbGVBcHAiLCJlbnZpcm9ubWVudCI6ImlwaG9uZSIsInZlcnNpb24iOiIxLjAifSwiaXNzIjoiaHR0cHM6XC9cL3VhdGNzcG1vYmlsZS5kaHMuZ2EuZ292OjQ0M1wvREhTUHJvamVjdFwvYXV0aG9yaXphdGlvblwvIiwiaWF0IjoxNDYxNTA5NzAyLCJpbWYuZGV2aWNlIjp7ImlkIjoiMTYyMTEzOTAtQjYxMS00NUE1LUFCRjItRTUxM0M2NTQzREYwIiwicGxhdGZvcm0iOiJpT1MiLCJtb2RlbCI6ImlQaG9uZSIsIm9zVmVyc2lvbiI6IjkuMy4xIn19.Cy2PdsqyngYDyNHtQsqXMFavXJW8ZHKYbYgEkyqbI12LZzGQEqAtMXn_WaAEfMiDvL1FO-rzB7pU1rvyFTfwpW2WmIBJZXVfxg5YGQPJDAhPCGo3lOU23BBRnQgr62zG57IVUmN23HBNgfmFuOv4NawJYoKYNDgs9ChRNC_ZVFkek27ECU1xOLMW59u_yJ9ZmYwQSVG34rrWgUwgAJ0HOhFzH04Pl3tKxPuva5W1I1elAWhLLuLtmCGytumsZJOaJHeXpAkU2vGEnrE0hk2bScAAIiqRmvGV4MYd9qyR06-z2MZSXo3r7sfWpl-gvCH99rrGzCSP7C8BL45dv-mh9w
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] send
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] +[WLAFHTTPRequestOperationManagerWrapper requestWithURL:] in WLAFHTTPRequestOperationManagerWrapper.m:52 :: Request url is https://myhostname:443/MYProject/adapters/FaqAdapter/faqs
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper start] in WLAFHTTPRequestOperationManagerWrapper.m:332 :: Starting the request with URL https://myhostname:443/MYProject/adapters/FaqAdapter/faqs
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:364 :: Request Failed
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:365 :: Response Status Code : 403
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:366 :: Response Error : Request failed: forbidden (403)
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WORKLIGHT] +[WLClient sharedInstance] in WLClient.m:165 :: IBMMobilieFirstFoundation.framework version = 7.1-2016/01/29 19:42:47
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [NONE] Request [https://myhostname:443/MYProject/authorization/v1/authorization]
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [NONE] Application details header: {"applicationDetails":{"platformVersion":"7.1.0.0","nativeVersion":"193323332","skinName":"default","skinChecksum":3762916697,"skinLoaderChecksum":"(null)"}}
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: THREAD WARNING: ['WLAuthorizationManagerPlugin'] took '17.318848' ms. Plugin should use a background thread.
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] Constructing
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] open method GET url https://myhostname:443/MYProject/authorization/v1/authorization?response_type=code&client_id=0459405be995d13e209ac40d56c1d73a6eee8ec6&redirect_uri=http%3A%2F%2Fmfpredirecturi&isAjaxRequest=true&x=0.8985385324340314
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name X-Requested-With value XMLHttpRequest
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name Accept value text/javascript, text/html, application/xml, text/xml, */*
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name Accept-Language value en-US
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name x-wl-app-version value 1.0
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name x-wl-app-details value {"applicationDetails":{"platformVersion":"7.1.0.0","nativeVersion":"193323332","skinName":"default","skinChecksum":3762916697,"skinLoaderChecksum":"(null)"}}
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name X-WL-Session value 17E31752-B5FB-46D0-843C-407893F2417F
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name X-WL-ClientId value 0459405be995d13e209ac40d56c1d73a6eee8ec6
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name X-WL-S-ClientId value eyJhbGciOiJSUzI1NiIsImpwayI6eyJhbGciOiJSU0EiLCJtb2QiOiJBSl9QbmI5aVpvQVNRcFFYZEc0NzNHQnctV3FCcFNITGw1N1ZIdG8yZHQyR2dULTUzM0o0TFpwaEpkX2gyYnJMa0h5MmFqZUZYYlRWVXhJQTVja290MkU9IiwiZXhwIjoiQVFBQiJ9fQ==.eyJjbGllbnRJZCI6IjA0NTk0MDViZTk5NWQxM2UyMDlhYzQwZDU2YzFkNzNhNmVlZThlYzYifQ==.U4ls1NvDvDA5aDiL3XN4vaBITv2pI0WQLi6PwYEjjFvJpqgMeyGiFuOjB4idjWgZGQOBSXIAVo3ykLhAPHcUyw==
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] send
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] +[WLAFHTTPRequestOperationManagerWrapper requestWithURL:] in WLAFHTTPRequestOperationManagerWrapper.m:52 :: Request url is https://myhostname:443/MYProject/authorization/v1/authorization?response_type=code&client_id=0459405be995d13e209ac40d56c1d73a6eee8ec6&redirect_uri=http%3A%2F%2Fmfpredirecturi&isAjaxRequest=true&x=0.8985385324340314
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper start] in WLAFHTTPRequestOperationManagerWrapper.m:332 :: Starting the request with URL https://myhostname:443/MYProject/authorization/v1/authorization?response_type=code&client_id=0459405be995d13e209ac40d56c1d73a6eee8ec6&redirect_uri=http%3A%2F%2Fmfpredirecturi&isAjaxRequest=true&x=0.8985385324340314
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:364 :: Request Failed
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:365 :: Response Status Code : 401
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:366 :: Response Error : Request failed: unauthorized (401)
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WORKLIGHT] +[WLClient sharedInstance] in WLClient.m:165 :: IBMMobilieFirstFoundation.framework version = 7.1-2016/01/29 19:42:47
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WL_AUTH] -[WLDeviceAuthManager getWLUniqueDeviceId] in WLDeviceAuthManager.m:71 :: returning UUID from the keychain
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [NONE] Application details header: {"applicationDetails":{"platformVersion":"7.1.0.0","nativeVersion":"193323332","skinName":"default","skinChecksum":3762916697,"skinLoaderChecksum":"(null)"}}
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [NONE] Request [https://myhostname:443/MYProject/authorization/v1/authorization]
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: THREAD WARNING: ['WLAuthorizationManagerPlugin'] took '12.122803' ms. Plugin should use a background thread.
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] Constructing
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] open method GET url https://myhostname:443/MYProject/authorization/v1/authorization?response_type=code&client_id=0459405be995d13e209ac40d56c1d73a6eee8ec6&redirect_uri=http%3A%2F%2Fmfpredirecturi&isAjaxRequest=true&x=0.5182551073376089
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name X-Requested-With value XMLHttpRequest
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name Accept value text/javascript, text/html, application/xml, text/xml, */*
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name Accept-Language value en-US
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name x-wl-app-version value 1.0
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name x-wl-app-details value {"applicationDetails":{"platformVersion":"7.1.0.0","nativeVersion":"193323332","skinName":"default","skinChecksum":3762916697,"skinLoaderChecksum":"(null)"}}
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name Authorization value {"wl_deviceNoProvisioningRealm":{"ID":{"token":"jc8scbrogj2cstljm4e6f6osov","app":{"id":"MyMobileApp","version":"1.0"},"device":{"id":"16211390-B611-45A5-ABF2-E513C6543DF0","os":"9.3.1","model":"iPhone7,2","environment":"iphone"},"custom":{}}}}
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name X-WL-Session value 17E31752-B5FB-46D0-843C-407893F2417F
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name X-WL-ClientId value 0459405be995d13e209ac40d56c1d73a6eee8ec6
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] setRequestHeader name X-WL-S-ClientId value eyJhbGciOiJSUzI1NiIsImpwayI6eyJhbGciOiJSU0EiLCJtb2QiOiJBSl9QbmI5aVpvQVNRcFFYZEc0NzNHQnctV3FCcFNITGw1N1ZIdG8yZHQyR2dULTUzM0o0TFpwaEpkX2gyYnJMa0h5MmFqZUZYYlRWVXhJQTVja290MkU9IiwiZXhwIjoiQVFBQiJ9fQ==.eyJjbGllbnRJZCI6IjA0NTk0MDViZTk5NWQxM2UyMDlhYzQwZDU2YzFkNzNhNmVlZThlYzYifQ==.U4ls1NvDvDA5aDiL3XN4vaBITv2pI0WQLi6PwYEjjFvJpqgMeyGiFuOjB4idjWgZGQOBSXIAVo3ykLhAPHcUyw==
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WLNativeXHR] send
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] +[WLAFHTTPRequestOperationManagerWrapper requestWithURL:] in WLAFHTTPRequestOperationManagerWrapper.m:52 :: Request url is https://myhostname:443/MYProject/authorization/v1/authorization?response_type=code&client_id=0459405be995d13e209ac40d56c1d73a6eee8ec6&redirect_uri=http%3A%2F%2Fmfpredirecturi&isAjaxRequest=true&x=0.5182551073376089
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper start] in WLAFHTTPRequestOperationManagerWrapper.m:332 :: Starting the request with URL https://myhostname:443/MYProject/authorization/v1/authorization?response_type=code&client_id=0459405be995d13e209ac40d56c1d73a6eee8ec6&redirect_uri=http%3A%2F%2Fmfpredirecturi&isAjaxRequest=true&x=0.5182551073376089
Apr 24 11:23:45 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:364 :: Request Failed
Apr 24 11:23:46 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:365 :: Response Status Code : 401
Apr 24 11:23:46 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:366 :: Response Error : Request failed: unauthorized (401)
Apr 24 11:23:46 My-iPhone MyMobileApp[794] <Warning>: [DEBUG] [WORKLIGHT] +[WLClient sharedInstance] in WLClient.m:165 :: IBMMobilieFirstFoundation.framework version = 7.1-2016/01/29 19:42:47
Apr 24 11:23:46 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [WL_AUTH] -[WLDeviceAuthManager getWLUniqueDeviceId] in WLDeviceAuthManager.m:71 :: returning UUID from the keychain
Apr 24 11:23:46 My-iPhone MyMobileApp[794] <Warning>: [TRACE] [NONE] Application details header: {"applicationDetails":{"platformVersion":"7.1.0.0","nativeVersion":"193323332","skinName":"default","skinChecksum":3762916697,"skinLoaderChecksum":"(null)"}}

If you observe in client log when mobile app invokes one of the Adapter

GET url https://myhostname:443/MYProject/adapters/FaqAdapter/faqs

second call it makes for Authorization which return as 401. This authorization call is made in loop for many times and finally fails

https://myhostname:443/MYProject/authorization/v1/authorization?response_type=code&client_id=0459405be995d13e209ac40d56c1d73a6eee8ec6&redirect_uri=http%3A%2F%2Fmfpredirecturi&isAjaxRequest=true&x=0.8985385324340314

Probably the Grand code is issued by one server from cluster but the same code failed on another server. Perhaps the Grand code is not in snyc between 2 cluster servers.

My worklight Properties

mfp.session.independent=false
serverSessionTimeout=10
mfp.attrStore.type=httpSession

回答1:

Taking in the following parameters that you explained:

  • You run in session-mode.
  • It fails only when you run multiple servers.

This strongly leads me to believe that you do not correctly follow the requirement of using sticky sessions. Meaning, each client session must always use the same server. If the client switches between server, then the session is lost and the context of the request is lost as well.

Or, alternatively, you can switch to session independent mode if you do not want to use sticky sessions.