ios - 在 iOS 应用中使用 Office365 SDK 进行静默登录

标签 ios office365

我正在开发一个 iOS 应用程序,其中已经存储了用户的 Office365 帐户凭据。当用户单击登录按钮时,用户应直接使用凭据登录,而不是弹出 Web UI
输入凭据。

我已经在应用程序中成功集成了 office365 SDK,并且可以通过在 Web UI 中输入凭据来登录。但我想绕过身份验证屏幕。

使用office365 iOS SDK可以进行静默登录吗?

最佳答案

这受到 OAuth 2.0 的限制。 客户端不是使用资源所有者的凭证来访问 protected 资源,而是获得一个访问 token ——一个表示特定范围、生命周期和其他访问属性的字符串。 OAuth 2.0 解决了资源所有者使用其凭据访问 protected 资源时的问题:
o 需要第三方应用程序来存储资源
所有者的凭据以供将来使用,通常是密码
明文。
o 服务器需要支持密码验证,尽管
密码中固有的安全漏洞。
o 第三方应用程序获得对资源的过于广泛的访问权限
所有者的 protected 资源,使资源所有者没有任何
限制持续时间或访问有限子集的能力
资源。
o 资源所有者不能撤销对单个第三方的访问权限
无需撤销对所有第三方的访问权限,并且必须通过
更改第三方密码。
o 损害任何第三方应用程序会导致损害
最终用户的密码以及受该密码保护的所有数据
密码。
但是,资源所有者密码凭证(即用户名和密码)可以直接用作授权授予来获取访问 token 。
仅当资源所有者和客户端之间存在高度信任时(例如,客户端是设备操作系统或高特权应用程序的一部分)以及其他授权授予类型不可用时,才应使用凭据(例如授权码)。

Azure AD 是一种公有云身份服务,在 Azure AD 上注册的应用程序不是“高特权应用程序”。所以恐怕应用程序无法直接使用用户名和密码获取访问 token 。
您可以从以下链接引用 OAuth 2.0 授权框架:
https://www.rfc-editor.org/rfc/rfc6749#page-4

关于ios - 在 iOS 应用中使用 Office365 SDK 进行静默登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35889908/

相关文章:

c# - 如何在 asp.net C# 中使用启用两因素身份验证的 office365 电子邮件帐户发送电子邮件?

ios - CALayer.draw(在:) and CALayer.中需要Display(forKey :) not called when expected,表示层意外为零

ios - Jenkins 生成的 ipa 无法在 iPhone 上安装(iOS 9 + XCode 7.1)

ios - 结束更新后的 UITableView 部分页脚 View 位置

javascript - 如何使用 API office.js 在 Excel 中插入数据不连续的图表?

outlook - Dynamics CRM 2016 正确跟踪电子邮件,但 Outlook 显示为未跟踪。

ios - 将 cocoapods 添加到我的 PodFile

ios - 获取用户位置不起作用?

c# - 检索 Outlook 的建议联系人

java - 是否可以从 Microsoft Graph 检索 "Contact Presence"?