注册客户 IBM Mobile First 时出错
Posted
技术标签:
【中文标题】注册客户 IBM Mobile First 时出错【英文标题】:Error Registering Client IBM Mobile First 【发布时间】:2015-11-27 02:55:20 【问题描述】:我正在使用 IBM Mobile First Starter 包,但无法找到如何解决错误“注册客户端错误”。有没有办法调试这个?这从昨天开始出现在我的移动应用程序上,从今天早上开始出现在我的模拟器上。我怀疑我的模拟器工作正常,因为它正在缓存凭据。
2015-11-26 18:44:54.835 bluelist-objective-c[32334:2189606] Intializing IMFCLient
2015-11-26 18:44:54.836 bluelist-objective-c[32334:2189606] IapplicationRoute [appurl]
2015-11-26 18:44:54.836 bluelist-objective-c[32334:2189606] IapplicationId [app id]
2015-11-26 18:44:55.286 bluelist-objective-c[32334:2189606] [ERROR] [IMF_REQUEST] -
[IMFAuthorizationRequest requestFailed:error:] in IMFAuthorizationRequest.m:368 ::
Status code='400' error='Expected status code in (200-299), got 400' response='Error
registering client'
2015-11-26 18:44:55.289 bluelist-objective-c[32334:2189606] [ERROR] [IMF] -
[IMFAuthorizationRequest requestFailed:error:] in IMFAuthorizationRequest.m:372 ::
Error=Error Domain=WLAFNetworkingErrorDomain Code=-1011 "Expected status code in (200-299),
got 400" UserInfo=WLAFNetworkingOperationFailingURLRequestErrorKey=<NSMutableURLRequest:
0x7ff9714135b0> URL: [appurl]/imf-authserver/authorization/v1/apps/
6e88ec09-fa48-4848-aeef-8fe59c3226e9/clients/instance , NSLocalizedRecoverySuggestion=
Error registering client, NSErrorFailingURLKey=[appurl]/imf-authserver/authorization/v1/
apps/6e88ec09-fa48-4848-aeef-8fe59c3226e9/clients/instance,
WLAFNetworkingOperationFailingURLResponseErrorKey
=<NSHTTPURLResponse: 0x7ff971536660> URL: [appurl]/imf-authserver/authorization/v1/apps/
6e88ec09-fa48-4848-aeef-8fe59c3226e9/clients/instance status code: 400, headers
Connection = "Keep-Alive";
"Content-Type" = "text/plain";
Date = "Fri, 27 Nov 2015 02:44:55 GMT";
"Transfer-Encoding" = Identity;
"X-Backside-Transport" = "FAIL FAIL";
"X-Cf-Requestid" = "aad33684-69d5-4535-433a-216e141a3d2d";
"X-Client-IP" = "50.174.210.191";
"X-Global-Transaction-ID" = 1566005617;
"X-Powered-By" = "Servlet/3.0";
, NSLocalizedDescription=Expected status code in (200-299), got 400
【问题讨论】:
【参考方案1】:canOpenURL: failed for URL:"fbauth2://"
错误表明您的 Info.plist 安全设置存在问题。首先,我将确认或将以下 LSApplicationQueriesSchemes 值添加到您的 Info.plist。
根据 Facebook 的建议 outlined here
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fbapi20130214</string>
<string>fbapi20130410</string>
<string>fbapi20130702</string>
<string>fbapi20131010</string>
<string>fbapi20131219</string>
<string>fbapi20140410</string>
<string>fbapi20140116</string>
<string>fbapi20150313</string>
<string>fbapi20150629</string>
<string>fbauth</string>
<string>fbauth2</string>
<string>fb-messenger-api20140430</string>
</array>
如果这不能自行解决问题,我还会考虑替换 Info.plist 中的应用程序传输安全定义。为了测试,您可能想用
替换完整的 ATS<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
在 IBM 博客文章中有更多关于 ATS 和 ios9 在一般情况下使用 Bluemix 的信息,可以找到 here 和 here
【讨论】:
【参考方案2】:重置模拟器或删除应用并重新安装。该错误不应再次发生:https://developer.ibm.com/answers/questions/206025/imfauthorizationrequest-error-invalid-grant/
【讨论】:
我试过重置模拟器并重新安装应用程序。 2015-11-27 15:15:46.708 bluelist-objective-c[4406:115870]-canOpenURL:URL 失败:“fbauth2://”-错误:“(null)”2015-11-27 15:16: 17.162 bluelist-objective-c[4406:115870] [ERROR] [IMF_REQUEST] -[IMFAuthorizationRequest requestFailed:error:] in IMFAuthorizationRequest.m:368 :: Status code='400' error='预期的状态码在(200-299 ),得到 400' response='"error":"unauthorized_client","error_description":"Unknown client"'以上是关于注册客户 IBM Mobile First 时出错的主要内容,如果未能解决你的问题,请参考以下文章
IBM Mobile First - mfpdev-cli 安装失败
iOS - 具有 IBM Mobile First 集成的 App Clips
使用 IBM API Manager 和 IBM Mobile First 的 OAuth
在 authenticationConfig.xml 中找不到 IBM Mobile First 平台 v7.1 定制安全测试