我正在为移动应用测试Azure云,并下载了入门部分提供的示例应用。我还配置了Azure Active Directory以用于身份验证。
当我在iOS模拟器上运行应用程序时,我在终端中收到错误消息:
ERROR Error Domain = com.Microsoft.MicrosoftAzureMobile.ErrorDomain Code = -1302“您必须登录才能使用此应用程序” UserInfo = {com.Microsoft.MicrosoftAzureMobile.ErrorResponseKey = {URL: https://appname.azurewebsites.net/tables/TodoItem} {状态代码: 401,headers { “内容长度”= 45; “Content-Type”=“text / html; charset = utf-8”; 日期=“星期六,2016年6月25日10:46:04 GMT”; Etag =“W / \”2d-vonn2FgYR / Z6jU4A0udEWA \“”; Server =“Microsoft-IIS / 8.0”; “Set-Cookie”=“ARRAffinity = 155c1827c98c621a5b3208e361587e118813cc4207f5ad4c23e121c5c10fd7bf; Path = /; Domain = appname.azurewebsites.net”; “X-Powered-By”=“Express,ASP.NET”; ,NSLocalizedDescription =您必须登录才能使用此应用程序, com.Microsoft.MicrosoftAzureMobile.ErrorRequestKey = {URL: https://appname.azurewebsites.net/tables/TodoItem}}错误:错误 Domain = com.Microsoft.MicrosoftAzureMobile.ErrorDomain Code = -1173“推送 由于身份验证错误而中止“ UserInfo = {NSLocalizedDescription =由于身份验证而推迟中止 错误,NSUnderlyingError = 0x7f84fb1bd910 {错误 Domain = com.Microsoft.MicrosoftAzureMobile.ErrorDomain Code = -1302“你 必须登录才能使用此应用程序“ UserInfo = {com.Microsoft.MicrosoftAzureMobile.ErrorResponseKey = {URL: https://appname.azurewebsites.net/tables/TodoItem} {状态代码: 401,headers { “内容长度”= 45; “Content-Type”=“text / html; charset = utf-8”; 日期=“星期六,2016年6月25日10:46:04 GMT”; Etag =“W / \”2d-vonn2FgYR / Z6jU4A0udEWA \“”; Server =“Microsoft-IIS / 8.0”; “X-Powered-By”=“Express,ASP.NET”; ,NSLocalizedDescription =您必须登录才能使用此应用程序, com.Microsoft.MicrosoftAzureMobile.ErrorRequestKey = {URL: https://appame.azurewebsites.net/tables/TodoItem}}}}
尽管如此,应用程序正在运行,我可以保存项目并加载数据。我该如何解决以下问题?
答案 0 :(得分:1)
该应用可能似乎有效,因为它将项目保存到本地数据库,但在尝试同步时遇到错误。我猜你在设置时在服务级别配置了身份验证。您可以通过将“请求未经过身份验证时要执行的操作”下的“身份验证/授权”中的设置更改为“允许请求(无操作)”,将其更改为仅对特定端点所需。请参阅How authorization works in App Service。
对于需要身份验证的端点,您需要添加代码以在客户端上登录。请参阅Add authentication to your iOS app。