我是网络开发的新手,目前我正在开发一个由IOS应用程序使用的Rest API。所以我开发了API并在其中实现了带有oauth2安全性的jwt令牌。现在我想提供移动应用程序所使用的API。所以我的后端服务器有SSL证书。因此消耗的Rest API将类似于
build.sbt
到目前为止,我已经阅读了有关SSL和JWT的内容,而且我已经将它们用于不同的原因了 SSL用于客户端服务器通信和之间的加密通道 JWT用于授权。
所以即使我实现JWT并且通信不在SSL中也没有意义。为了确保客户端和服务器之间的通信必须在客户端(移动应用程序)端完成?
1.移动应用程序是否需要安装新证书或后端服务器的SSL证书?
2.如果它是我们的后端服务器的SSL证书,那么如何在移动应用程序中安装它?
感谢任何帮助。
答案 0 :(得分:0)
您可以在客户端设置您的ssl证书。 您可以符合NSURLSessionDelegate协议并实现:
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler{
if([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]){
NSArray* netTrusts = @["your hostname here"];
if(netTrusts != nil && [netTrusts containsObject:challenge.protectionSpace.host]){
NSURLCredential *credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];
completionHandler(NSURLSessionAuthChallengeUseCredential,credential);
}
}
}