ios - OAuth 2.0 的本机登录有什么不安全的地方?
问题描述
我正在开发一个原生 Swift iOS 应用程序。我最近阅读了很多关于 OAuth 2.0 的内容,包括这个答案、相当多的 RFC 6749 以及其他几个教程。有很多关于如何使用嵌入式 webview 并不理想的评论,因为 cookie 无法保持安全,因此SFSafariViewController
和ASWebAuthenticationSession
.
但是我没有看到太多关于没有 webview/浏览器的登录、通过UIView
表单收集用户凭据、使用资源所有者密码凭据授予以及直接使用URLRequest
. 我正在使用我自己的资源服务器和我自己的身份验证服务器(或使用类似 Auth0 的东西)构建自己的应用程序,它只处理对我的应用程序受保护资源的访问。所以这里的一切都是“高度信任的”。但是我看到了类似以下关于资源所有者密码凭据授予的通知(来自此处):
授权服务器在启用此授权类型时应特别小心,并且仅在其他流程不可行时才允许它。
从技术上讲,使用另一个流程是“可行的”——我可以构建它。在这种情况下,是否使用外部用户代理,SFSafariViewController
或者ASWebAuthenticationSession
仍然提供无法与本机登录匹配的安全优势?
解决方案
我想到的使用外部用户代理的一个好处是升级到一般的两因素或多因素身份验证。
推荐阅读
- nativescript - 如何使用 RadListView 制作手风琴列表?(本机脚本)
- laravel - Laravel - 避免模型中的代码重复
- android - Android Espresso 分片随机失败并出现 INSTALL_FAILED_INVALID_APK
- python - Python:同时循环遍历字典中的所有列表以过滤掉元素
- java - 解析没有包装类的 JSON 数组
- ios - 解码具有动态密钥的 JSON
- xamarin.forms - Xamarin.Forms 如何在录音/播放时显示进度指示器
- python - python中k-means聚类算法中处理分类数据的方法
- jquery - AJAX 在条件下运行
- ios - iOS:相机胶卷目录 xamarin