内容提要
Nested App Authentication (NAA)是Teams应用的新身份验证协议,简化了身份验证过程,实现了Teams、Outlook和Microsoft 365的单一登录。它利用了Microsoft Authentication Library (MSAL.js),无需中间层服务。NAA还允许逐步和动态同意范围权限,并消除了对第三方cookie的依赖。NAA目前在公共预览中,鼓励开发者尝试使用。
延伸解读
NAA 与 OBO 的对比
NAA 旨在解决现有 OBO 模型的痛点。OBO 需要多次网络调用并注册后端服务,而 NAA 利用 MSAL.js 消除了中间层服务,允许客户端代码直接使用访问令牌调用服务。此外,NAA 支持动态同意范围权限,无需在应用清单中预先指定资源,简化了开发流程。
采用 NAA 的步骤
要采用 NAA,开发者需要注册应用、更新重定向 URI 以支持受信任的代理、添加备用身份验证方法,并跨环境测试应用。由于 NAA 仍处于公共预览阶段,建议使用 Teams JS SDK 检查支持状态,并为尚未启用的 Microsoft 主机应用提供备用体验。
公共预览阶段的注意事项
NAA 目前处于公共预览阶段,开发者可以尝试使用并提供反馈。但需注意,并非所有 Microsoft 主机应用都已启用 NAA,因此建议在应用中实现备用身份验证方法,以确保在不支持 NAA 的环境中用户仍能正常登录。
Q&A
什么是嵌套应用身份验证(NAA)?
嵌套应用身份验证(NAA)是Teams应用的新身份验证协议,旨在简化身份验证过程,实现Teams、Outlook和Microsoft 365的单一登录。
NAA如何改善开发者的身份验证体验?
NAA利用Microsoft Authentication Library (MSAL.js),消除了对中间层服务的需求,简化了身份验证流程,降低了开发者的复杂性。
NAA支持哪些功能?
NAA支持逐步和动态同意范围权限,允许请求任何已同意的AAD保护资源的令牌,并消除了对第三方cookie的依赖。
如何在应用中采用NAA?
采用NAA的步骤包括注册应用、更新重定向URI、添加备用身份验证方法和跨环境测试应用。
NAA目前处于什么阶段?
NAA目前处于公共预览阶段,鼓励开发者尝试使用。
NAA与现有的身份验证模型相比有什么优势?
NAA提供了比现有的代表身份验证模型(OBO)更简化的身份验证流程,支持动态用户体验,减少了开发者的网络调用和复杂性。