大多数浏览器和
Developer App 均支持流媒体播放。
-
探索“通过 Apple 登录”在公司与学校中的运用
学习在组织环境中如何支持管理式 Apple ID 的“通过 Apple 登录”。我们将介绍“通过 Apple 登录”在公司与学校中的运用,并探索教育 App 可以如何利用此 REST API 的功能,以简化学生和班级信息的导入流程。我们还将分享如何在 Apple 商务管理和 Apple 校园教务管理中配置这些功能的访问管理控制。为能更好地理解此讲座,我们建议您先熟悉“通过 Apple 登录”和 REST API。
资源
- Configuring your webpage for Sign in with Apple
- Implementing User Authentication with Sign in with Apple
- Roster API
相关视频
WWDC22
WWDC20
-
下载
♪ 柔和乐器演奏的嘻哈音乐 ♪ ♪ Ashwath Sriram: 您好 我叫 Ashwath 一名教育团队的工程师 今天我很高兴能和您谈谈 如何“在企业和校园教务管理中 通过 Apple 登录” 我会在本次讲座中介绍 即将在今年秋季推出的主要功能 首先我会向您介绍 何为“在企业和校园教务管理中 通过 Apple 登录”及它的工作原理 然后我会讲到 Roster API 以及它的使用细节 最后 我将介绍访问管理功能 我将会讨论 IT 管理员 如何代表其组织管理访问权限 讨论对象包括“在企业和 校园教务管理中通过 Apple 登录” 以及 Roster API 让我首先介绍两个概念 您 可能已经很熟悉 但建议您在本视频中再复习一下 首先是“通过 Apple 登录” 对用户来说 “通过 Apple 登录” 是一种快速而便捷的登录方式 用户可以在您的 App 中 以很简便的方式创建账户 第二个概念 是管理式 Apple ID 与 Apple ID 相同的是 管理式 Apple ID 可用于对设备进行个性化设置 还用于访问 Apple App 和服务 与 Apple ID 不同的是 管理式 Apple ID 是属于本地组织的 并通过 “Apple 校园教务管理” 或 “Apple Business Manager” 进行管理 请记下这些定义 我很荣幸的和您分享 现在“通过 Apple 登录”已扩展为 支持 管理式 Apple ID 登录 现在您可以使用 “通过 Apple 登录” 获得快速而便捷的良好体验 但仍然具有 管理式 Apple ID 的 管理能力 让我们通过一个例子来了解 “在企业和校园教务管理中 通过 Apple 登录” 这是 Slack 的登录界面 若要使用“通过 Apple 登录” 用户只需 点击“Continue with Apple” 之后他们会看到 “通过 Apple 登录” 的欢迎界面 另一方面 如果他们使用的是 管理式 Apple ID 他们就会看到用于 “在企业和校园教务管理中 通过 Apple 登录”的欢迎界面 您会发现两个欢迎界面有一些不同 那么我们前面所说的关于 提供更快捷的访问控制 是什么意思呢? 让我们看一个例子 如果使用个人 Apple ID 进行“通过 Apple 登录”时 用户会看到一个创建用户的界面 他们可以编辑个人姓名 并选择是否隐藏他们的邮件地址 但在组织身份登录 的情况下 让 App 了解登录账户的 个人信息和使用权限就变得非常重要 在这个例子中 用户在工作时登录了 Slack 那么为了让 Slack 了解 这个用户有权进入哪些频道 Slack 需要知道 正在登录的用户是谁 所以这是个在企业或校园管理环境中 通过 Apple 登录 Slack 并将姓名和邮箱信息 共享给 Slack 的使用案例 所以用户会看到这些界面 但对您又意味着什么呢? 这意味着如果用户 使用“在企业和校园教务管理中 通过 Apple 登录” 他的姓名和邮箱字段将始终可访问 如果您是客户端 App 的 开发人员 请看这一段 介绍使用授权控制器的代码用例 当成功获得授权后 高亮的语句 指明 App 收到的用户全名 和邮件地址 我们假设授权请求中包含了 用户的全名和邮件地址 如果您是为网站制作和支持 通过 Apple 登录的开发人员 这段代码将告诉您 用 “signIn” 方法 启动授权的过程 授权成功后 服务器将返回数据对象 该数据对象看起来像这样 高亮显示的字段包含邮件地址 和登录用户的全名 有几个重要的事情请您注意 在本发布版本中 请使用主管理式 Apple ID 登录企业和校园教务管理的设备 即便我向您展示的例子 是用于设备上的登录流程 该版本对 web 的支持 也是很好的 某些帐户可能未提供邮件地址 例如 学校可能不会 给年轻学生分配邮件地址 那让我们看看没有邮件地址的情况下 创建用户界面会变成什么样 这位叫 Fatima Silva 的用户没有邮件地址 所以在账户创建界面里 只会显示他们的全名 如果您的组织 已经实现了“通过 Apple 登录” 则无需再为添加 对管理式 Apple ID 的支持 再做任何额外的工作 如果您还没有实现支持 那么我强烈建议您看看 在 WWDC 2020 里一个叫做 “充分 通过 Apple 登录” 的讲座 以及从今年开始一个名为 “增强您的 Apple 登录体验”的讲座 其中就是“在企业和校园教务管理中 通过 Apple 登录” 提供了从“通过 Apple 登录”到管理式 Apple ID 所带来的快捷便利的体验 现在让我们深入讨论一下 Roster API 但在讨论这里的细节之前 让我们先思考一下以下场景 您是教育领域的开发人员 学校正在使用您的制作的 App 您的 App 经实现了 对“通过 Apple 登录”的支持 那太棒了! 学生 教师和教职员工可以使用 他们的管理式 Apple ID 登录您的 App 在这种情况下您的 App 允许教师给他们的学生布置作业 以及发布课程公告 若要支持这一点 IT 管理员需要将学生 教师和班级信息 在开学前录入 App 对于拥有成百上千名学生的学校 手工创建这些信息 很快就会让人 心力交瘁 因此我们创建了 Roster API 来解决这个问题 Roster API 提供在 Apple 校园教务管理中 使用代码级别访问 用户和班级等信息 这使得 IT 管理员能够 自动将这些信息导入到您的 App 这些资源 以 REST 接口的形式定义 您可以请 IT 管理员 通过 OAuth 2.0 向您的 App 授权 使您的 App 可以访问这些数据 在 Apple School Manager 中的 管理员和站点管理员可以管理 哪些 App 能够访问数据 作为此版本的一部分 我们提供一个标准化的访问方式 以便于 App 访问组织数据 我们称之为组织数据共享 我们希望在 UI 设计模式 和技术选择中 遵循行业标准 以便于技术人员更易使用 所以我们基于 OAuth 2.0 标准 创建了一个授权流程 其中包括使用范围 以及向 IT 管理员申请 授权和组织共享数据 请看下面的样例 授权许可界面会告诉您 哪个 App 正在请求访问组织数据 以及 App 请求哪些数据的信息 仔细观察授权许可界面 包含关于请求者的信息 它代表请求访问 Apple School Manager 数据 的 App 的信息 本例中发起请求的 App 是 Quizzler 这里显示了 App 申请权限的范围 以及有权访问的数据内容 在这种情况下 一旦 IT 管理员同意授权 Quizzler 将能够访问 该组织的所有用户和班级信息 那么您要如何才能实现这个授权呢 首先是在开发者门户中注册 这涉及申请权限的范围 下一步是请求 IT 管理员 通过 OAuth 2.0 授权流程 与您的 App 共享数据 最后 您的 App 将可以通过 Roster API 获取所需的数据 来看看每一步都是如何执行的 要申请授权范围 请访问开发者门户网站 在证书 标识符和描述文件页面下 点击帐户和组织数据共享下方的 配置按钮 然后 单击“设置配置” 从下拉列表中选择主 App ID 并点击继续 在附加配置详细信息页面中 找到组织数据共享范围 并在下方选取想要申请的授权范围 目前我们提供两种形式: 用户访问和类组访问 请确保为您的 App 配置了 返回 URL 地址 此步骤很重要 因为这个 URL 将在 OAuth 2.0 授权流程中用于返回信息 点击继续 最后 确认您的配置完成后 就可以进行下一步了 授权的第二步 是通过 OAuth 2.0 授权流程 获取访问令牌 让我们来看一下细节 IT 管理员 首先登录到您的 App 随后 IT 管理员 会与您的 App 交互 以便启动授权流程 例如 通过点击 连接到 Apple 校园教务管理按钮 即会开启 OAuth 2.0 流程的 一系列授权流程 第一步是向授权节点 发送 GET API 请求 让我们来看看这个请求的细节 该请求需要包含一些参数: client_id redirect_uri state、response_type 和 scopes 授权响应将重定向到 Apple OAuth 认证界面 用来向 IT 管理员请求访问权限 在此图中我们假设 IT 管理员 已用管理式 Apple ID 进行了身份验证 如果他们还没完成验证 那么系统会提示管理员 首先进行身份验证 IT 管理员会看到 提示将组织数据分享给您的 App 的授权认证窗口 这与我们之前看到的认证窗口相同 它看起来会像是这样 一旦 IT 管理员点击同意 您的 App 将收到一个 带有授权码的 URL 也就是您在开发者门户中 填写的返回 URL 最后 通过向令牌端点 发送 POST 请求 来验证 App 的令牌授权 让我们看看这个请求的结构 请求正文 由标准 OAuth 参数组成 包括您在接收 URL 时 拿到的授权码 响应内容包含访问令牌 到期时间和用于在访问令牌到期后 生成新访问令牌的刷新令牌 让我们看一下使用刷新令牌 生成新访问令牌的请求内容 请求内容由包括刷新令牌的 标准 OAuth 参数组成 返回信息包含新的访问令牌 以及到期时间 在成功完成 OAuth 2.0 授权流程之后 您的 App 现在 已经获得了访问令牌 这可以 让您通过 Roster API 访问用户和类组信息 在当前版本 我们提供了5 个请求查询接口 以便 App 查询相关内容 他们可以获取:类组列表 用户列表 特定类别 特定用户、类组中用户 让我们来看一个简单的例子 演示如何获取用户和类组 您的 App 服务器可以 先通过查询用户接口搜索 学生 教师和工作人员的名单 我们来详细看一下请求和响应内容 用户接口 接受三个查询参数 pageToken 和 limit 是分页参数 另外还有一个可选的 role 参数 可以帮助您查询学生 教师或工作人员的信息 请求内容需要含在请求标头内 包含从授权流程 获得的访问令牌 接口会返回一个 JSON 格式的数据 其中包含一个“users”键值 这里会包含用户列表 “nextPageToken”键 用于获取下一个分页的数据 还有一个 “moreToFollow”布尔键 它会告诉您是否还有更多的分页数据 让我们看一个请求事例 这个 API 请求 正在检索学生列表 每次最多请求 10 个学生的数据 这是第一次分页请求 所以没有指定 pageToken 参数 返回值包含标准用户信息 例如 givenName familyName 等 但我想请您注意 高亮部分显示的用户唯一标识符 这与用户“通过 Apple 登录”进行验证时 App 会收到的标识符相同 用户的邮件地址 以及角色信息也包括在响应内容里 如果 moreToFollow 的返回值为 true 则表示您可以在 API 请求中 带入 nextPageToken 参数 用来请求下一分页的学生信息 在查询过用户接口后 现在您的 App 服务器 可以查询类组接口 它可以为您提供特定学区 类组列表的信息 以及班级和学生之间的关系 或是该班级相关的教师信息 让我们详细了解一下请求 和响应的内容 作为获取类组请求的一部分 请求接受两个查询参数 pageToken 和 limit 参数 这两个我们在前面见过 标头与查询用户时相同 返回值是 JSON 格式数据 其中的“classes”键 保存类组列表 让我们看一个具体的请求事例 此请求检索类组列表 每次最多 200 个类组请求 API 请求也同样包含 pageToken 参数 这意味着本次请求正在获取所有类 响应返回值具有标准的类组信息 例如名称 类标识符等 另外我希望您注意 instructorIds 和 studentIds 是隶属于这个类组之下的 那就是 Roster API 有了这些接口 您的 App 现在可以 以代码级查询 Apple School Manager 中的 用户和类组信息 最后 我想和您谈谈访问管理 使用共享组织数据 和在企业和校园教务管理中 通过 Apple 登录 对组织提供访问能力至关重要 让我更详细地解释一下这意味着什么 通过 Apple 登录时 账户由用户自己管理 并由他们自己决定 给哪些 App 使用授权 但是在企业 和学校通过 Apple 登录时 IT 管理员会集中管理该组织内 所有的用户 这是因为 IT 管理员 需要确保企业或学校数据的安全性 因此 他们必须 有权管理哪些用户可以 在企业和学校教务管理 中使用 通过 Apple 登录 以及允许哪些 App 访问组织数据共享内容 访问管理权限的设定可以在 Apple School Manager 和 Apple Business Manager 中进行配置 对于“在企业和校园教务管理中 通过 Apple 登录” 我们提供两种模式 第一种模式是“允许所有 App” 让我们看看这个模式是什么样子的 IT 管理员登录到 Apple Business Manager 功能 从侧边栏中选择访问管理 并选择“通过 Apple 登录” 它提供两种工作模式 “允许所有 App”模式 允许组织内所有用户 登录所有支持 “通过 Apple 登录”的 App 第二种模式 是“仅允许某些 App” 让我们看看这个模式是什么样子的 “仅允许某些 App”模式 让 IT 管理员 搜索支持使用 “通过 Apple 登录”的 App 并将它们添加到允许列表中 用户只能对列表中的软件 使用“通过 Apple 登录” 如果用户尝试登录 不在列表中的 App 他们将会收到一条报错信息 需要特别注意的是 该功能 对于 Apple School Manager Apple Business Manager 以及 Business Essentials 用户是相同的 类似于“在企业和学校教务管理 中通过 Apple 登录” 组织数据共享也有相同的两种模式 让我们来看一下 “仅允许某些 App”模式 让 IT 管理员 搜索支持的 App 以添加到列表中 这些 App 会使用 Roster API 可以访问用户和类组信息 除了许可界面 以上操作 是 IT 管理员的第二层控制 管理 App 的组织数据访问权限 随着使用 通过 Apple 登录来登录 企业和校园教务管理功能的发布 现在任何环境中的用户 都可以使用 Apple ID 或管理式 Apple ID 登录您的 App 如果您还没有实现过 “通过 Apple 登录” 那么我强烈建议您使用这个功能 如果您在教育领域工作 我也同样建议您 使用 Roster API 实现 对 Roster API 的支持 将为 IT 管理员 公司员工 教师和学生带来 优质无缝的使用体验 一如既往 我们希望收到您的反馈 因此 请告诉我们 您可能有的任何想法 如果您想了解更多信息 我强烈建议您 观看 2020 的“充分利用 通过 Apple 登录”讲座 以及今年的“增强您的 通过 Apple 登录体验” 讲座 非常感谢您的收看 我们希望您喜欢今年的 WWDC ♪
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。