iOS应用程序 - 为asp.net Web应用程序的用户进行身份验证

时间:2014-01-18 17:14:33

标签: ios asp.net iphone authentication nsurlsession

我真的很感谢我能否以正确的方式接近以下内容。

一位朋友问我是否可以帮助他为他的创业公司整理一个应用程序。 他们有一台运行某种asp.net应用程序的服务器。

他想要一个允许用户登录和管理帐户的iOS应用程序。

我正在查看NSURLSession和NSURLSessionDataTask。

以下是我要做的事情:

NSURL *url = [NSURL URLWithString:@"https://myfriendssite.com/Account/Login"];
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration:defaultConfigObject delegate:self delegateQueue: [NSOperationQueue mainQueue]];
NSURLSessionDataTask * dataTask = [defaultSession dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    NSLog(@"reponse: %@",response);
    if(error == nil)
    {
        NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*) response;
        NSLog(@"code: %d", httpResp.statusCode);

        NSString * text = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
        [webView loadHTMLString:text baseURL:url];
        NSLog(@"Data: %@",text);
    }
    else
    {
        NSLog(@"Error: %@", error);
    }
    }];

    [dataTask resume];
}

当我使用[任务恢复]拍摄任务时,我收到任务的“didReceiveChallenge”。 那时我回答:

NSURLCredentialPersistence persistence = NSURLCredentialPersistenceNone;
NSURLCredential *credential = [NSURLCredential credentialWithUser:[usernameField text] password:[passworField text] persistence:persistence];
completionHandler(NSURLSessionAuthChallengeUseCredential, credential);

但是,我是否需要对回复的cookie做些什么?

"Set-Cookie" = "__RequestVerificationToken=cIxrC6dJnHyD6pIe-zgkx_Hr0CbsRZ7_dbQfsSIWsFAtVXjV_-o4d_2GycwhY0E-JjyA8R3iNsTreVOIcTNWQvxBenlEMLe8RJ5vz6JcyRSjLNn7H1Uklu0MD-afm08RVe7L8m4DzvtJv5rTAAie-w2; path=/; HttpOnly";

我的元素非常不错,所以我很感激任何指针!

干杯!

亚当

0 个答案:

没有答案