• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 在发出任何请求之前验证服务器身份

[复制链接]
菜鸟教程小白 发表于 2022-12-13 14:27:23 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我在我的应用程序中添加了生产证书,它运行良好。但现在我想在进行任何 API 调用之前验证身份。我希望能够在使用用户名和密码进行 POST 之前验证服务器。这样我就可以提前阻止用户。

有什么方法可以做到这一点,还是我应该只请求服务器为此目的创建一个公共(public)方法?



Best Answer-推荐答案


我认为您要问的问题是:“AFNetworking 是否内置了任何自动检测和验证代码?”,答案是“据我所知,没有”。正如您在问题中指出的那样,这会让您查看手动选项。

想到的一些选项:

如果您的服务器和服务器端应用程序支持它,您可以发出 HEADOPTIONS HTTPS 请求来验证服务器的安全连接,然后再向其发布数据。请注意,它会增加网络流量,因此在网络连接速度较慢的情况下,它可能会给用户体验带来明显的延迟。您可以通过缓存结果并不时在后台执行网络检查来缓解这种情况。这些请求/响应对话所需的带宽非常小,因为它们通常只发送 HTTP header ,而不是有效负载。

这里的棘手部分是“如果您的服务器和服务器端应用程序支持它”。现代服务器平台应该支持这两种方法,但必须配置应用程序端点以适本地响应这些方法。 (也就是说,服务器应用程序可以配置为仅响应 POST 请求,而拒绝其他所有请求。)

确定的唯一方法是尝试,但请确保协调使用此方法,以确保您的服务器团队知道这是您需要的用例。否则,您将冒着使用未记录的方法的风险,该方法将来有人会关闭,因为他们不知道有人在使用它。

如果做不到这一点,您当然可以按照您的建议去做——要求服务器应用程序创建一个公共(public) ping 端点,该端点以一个小(或没有)有效负载和一个商定成功的 HTTP 响应(200 OK 很常见)。这通常用于运行状况检查,并具有额外的好处,即让您在发出请求之前提醒用户服务器正在报告运行状况问题(无论安全连接的有效性如何)。

关于ios - 在发出任何请求之前验证服务器身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364116/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap