我希望在移动应用和我自己的服务器之间保护我的http通话。 这样做的最佳方法是什么?我看到了oAuth2.0但却无法完全理解它。我们如何在我们的应用中使用标记化身份验证?有人可以通过双方(iOS和服务器)的示例解释来帮助我。我不希望用户在进行身份验证时切换到safari,就像我们点击使用google +登录并切换到网页等一样。
答案 0 :(得分:2)
抱歉,我不知道如何在服务器上设置它。 但您可以像这样从应用程序端传递auth用户名和密码。
NSMutableString *loginString = (NSMutableString*)[@"" stringByAppendingFormat:@"%@:%@", AuthUserName, AuthPassword];
NSData *authData = [loginString dataUsingEncoding:NSUTF8StringEncoding];
NSString *authHeader = [NSString stringWithFormat:@"Basic %@", [authData base64EncodedStringWithOptions:0]];
NSString *urlString = [url stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:urlString]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:DEFAULT_TIMEOUT];
[request addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request addValue:authHeader forHTTPHeaderField:@"Authorization"];
答案 1 :(得分:0)
我想这可以帮助你开始,它是使用Swift的Oauth 2.0的明确实现,
http://www.raywenderlich.com/99431/oauth-2-with-swift-tutorial
使用Google服务作为OAuth提供商(免费)
提供与已构建的Oauth服务集成的其他库,
https://github.com/oauth-io/oauth-ios - 这是适用于OAuth.io的iOS SDK。 OAuth.io允许您在Web应用程序中轻松集成100多个提供程序,而无需担心每个提供程序的OAuth特定实现。
https://github.com/nxtbgthng/OAuth2Client - 它实现本机应用程序配置文件,并通过内部或外部用户代理支持最终用户授权端点。此外,它还通过提示最终用户输入用户名和密码来支持用户凭据流,并直接使用它们来获取访问令牌。