我正在使用本机Swift iOS应用程序。最近,我已经阅读了很多有关OAuth 2.0的阅读,包括此答案,相当多的RFC 6749和其他几个教程。关于如何使用嵌入式WebView的使用方式有很多评论,因为cookie不能保持安全,因此SFSafariViewController
和ASWebAuthenticationSession
。
,但我还没有看到没有太多关于没有WebView/浏览器的登录时间的话题,使用资源所有者密码凭据凭据授予并使用URLRequest
直接发送数据,从而通过UIView
表单收集用户凭据。我正在使用自己的资源服务器和自己的身份验证服务器(或使用诸如Auth0之类的东西(构建自己的应用程序,这仅在处理对我应用程序受保护的资源的访问。因此,这里的一切都"非常值得信赖"。但是我看到了以下有关资源所有者密码凭据授予赠款的注意事项(从这里(:
授权服务器在启用此功能时应特别注意 赠款类型,仅在其他流程不可行时才允许它。
从技术上讲,使用另一个流是"可行的" - 我可以构建它。使用外部用户代理,SFSafariViewController
或ASWebAuthenticationSession
是否仍然提供安全的好处,在这种情况下无法与本机登录相匹配?
使用外部用户代理的一个好处是升级到2因子或多因素身份验证。