Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ios aws sdk是否通过SSL传递所有信息_Ios_Amazon Web Services_Amazon S3_Aws Lambda_Aws Api Gateway - Fatal编程技术网

使用ios aws sdk是否通过SSL传递所有信息

使用ios aws sdk是否通过SSL传递所有信息,ios,amazon-web-services,amazon-s3,aws-lambda,aws-api-gateway,Ios,Amazon Web Services,Amazon S3,Aws Lambda,Aws Api Gateway,我使用AWS Lambda作为后端服务来验证ios应用程序中的用户。在了解Lambda时,我被指使用amazonapi网关使网络上的数据通过HTTPS://而不是HTTP:// 最近有人指出,所有直接从我的应用程序调用AWS Lambda、DynamoDB、S3和Cognito的调用都会自动通过HTTPS://。这是真的还是假的?不幸的是,我能找到的文档并没有明确说明这一点,但检查了github上的源代码: ,sdk使用的基本服务之一,默认情况下使用https,并且仅当在参数useUnsafeU

我使用AWS Lambda作为后端服务来验证ios应用程序中的用户。在了解Lambda时,我被指使用amazonapi网关使网络上的数据通过HTTPS://而不是HTTP://


最近有人指出,所有直接从我的应用程序调用AWS Lambda、DynamoDB、S3和Cognito的调用都会自动通过HTTPS://。这是真的还是假的?

不幸的是,我能找到的文档并没有明确说明这一点,但检查了github上的源代码:

,sdk使用的基本服务之一,默认情况下使用https,并且仅当在参数
useUnsafeUrl
设置为true的情况下建立AWSServiceConfiguration特定配置时,才会切换到http

并且,即使使用配置对象初始化,也会将
useUnsafeUrl
选项设置为
NO

因此,对源代码的检查表明,默认情况下,对服务的所有访问都是https

这也与其他语言/框架中的AWS SDK默认值一致

--编辑注释-- 在发布这篇文章之后,我有了一个想法——使用https API网关的建议可能是基于将Lambda函数公开为API端点的常见做法。如果您想这样做,那么API网关为您提供了一种方法,如果您使用的是API网关,那么您确实需要确保它被配置为使用https

从您的问题中不清楚的是-从您的应用程序中,您是否通过API网关端点调用lambda函数?还是直接通过AWS SDK?如果直接通过AWS SDK调用,则根本不需要使用API网关


如果您已经在使用API网关,并发出HTTPS web请求来调用lambda函数,我不一定会停止,因为它为您提供了一个很好的抽象和解耦点-您可以完全更改后端实现,只要保持API网关端点配置不变,你的客户仍然会工作。或者,您可以开始实施其他客户端,或者将您的API公开给无法使用AWS SDK的第三方客户端,他们仍然可以通过标准HTTP协议与您的后端交互。

编辑注释后的第三段是正确的。我决定使用api网关访问lambda函数来创建一个抽象的https身份验证系统。我会继续这样做。我不知道直接通过aws ios sdk向lambda传递密码会使用https,所以我还是使用了网关。文档并不明确,但在查看源代码后,很明显,如果使用启用https的端点,则直接通过sdk进行的调用将是https。此外,所有Lambda端点都是HTTPS:。