Broken HTTP basic authentication in web apps on iOS 7?

感情迁移 提交于 2019-12-03 01:33:06

I found that by removing windows auth from iis, and leaving only basic with the realm set to the domain solved this issue for me.

Give that a try.

I think this may be related to the dialog problem described here.

Standard dialogs are not working at all, such as alert, confirm or prompt.

The login prompt that is shown to authenticate the user is probably blocked (does not work or is not visible) and that is why the web app does not pass through the authentication phase.

I suppose Apple will have to fix this bug in a future release.

Edit: After upgrading to iOS 7.0.3 basic authentication suddenly started to work again also in home screen web app mode. Login prompt is displayed and everything works as expected.

This worked for me.

+ (void) setBasicAuth
{
  NSURLCredentialStorage* store = 
    [NSURLCredentialStorage sharedCredentialStorage];

  NSURLCredential* creds = 
    [NSURLCredential credentialWithUser:@"user" 
                               password:@"pass"
                            persistence:NSURLCredentialPersistenceForSession];

  NSURLProtectionSpace* protectionSpace = 
    [[NSURLProtectionSpace alloc] initWithHost:@"your-host" 
                                          port:80 
                                      protocol:@"http" 
                                         realm:@"Your Realm"
                          authenticationMethod:NSURLAuthenticationMethodDefault];

  [store setCredential:creds forProtectionSpace:protectionSpace];
}

I‘m experiencing the exact same problem. It works when putting username and password in the url of your web app and

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!