资讯动态

如何实现用户自动认证:Microsoft 365 Agents SDK Auto Sign-in OAuth 完整指南

发布时间:2026/8/23 11:56:43 来源:尧图企业网站定制
如何实现用户自动认证Microsoft 365 Agents SDK Auto Sign-in OAuth 完整指南【免费下载链接】AgentsThe Microsoft 365 Agent SDK simplifies building full stack, multichannel, trusted agents for platforms including M365, Teams, Copilot Studio, and Webchat.项目地址: https://gitcode.com/gh_mirrors/agents/AgentsMicrosoft 365 Agents SDK 是微软官方的多通道智能体开发框架支持在 Microsoft Teams、Microsoft 365 Copilot、Copilot Studio 与 WebChat 等平台构建可信的全栈智能体。本指南聚焦其中的Auto Sign-in 用户自动认证能力开启后智能体会在收到用户消息时自动完成OAuth登录并获取令牌用户无需反复输入验证码或手动点击登录获得零感知的认证体验。你将获得理解 Auto Sign-in 自动认证与 OAuth 的工作原理掌握 Azure Bot OAuth Connection 的关键配置步骤看懂 .NET / Node.js / Python 三种语言的官方示例差异为什么需要用户自动认证在传统 Bot 开发中用户每次要访问个人数据如 Microsoft Graph 中的姓名、邮箱都要手动走完登录流程弹出登录页 → 授权 → 输入 6 位验证码。步骤多、易中断体验割裂。Auto Sign-in自动登录把这一切变成后台动作提供两种模式模式工作方式适用场景 全局自动登录AutoSignin对每一条入站消息自动用默认处理器获取用户 OAuth 令牌智能体大部分功能都依赖同一个用户身份 按路由登录Per-Route在特定命令如-me上绑定指定 OAuth 处理器进入该路由前自动完成登录不同命令需要访问不同服务Graph、GitHub 等两种模式可以叠加使用——全局自动登录开启后按路由的处理器还能额外提供第二个令牌。Auto Sign-in 工作原理OAuth 自动认证流程用户发送消息智能体收到消息后先检查是否已有有效的用户令牌自动发起 OAuth若没有令牌SDK 自动启动 OAuth 流程。WebChat 中用户会看到登录入口或 6 位验证码提示在 Teams 中若已配置 SSO则完全静默完成用户无任何感知业务代码直接取用登录成功后通过认证对象.NET 的UserAuthorization、Node.js 的authorization、Python 的auth一行代码拿到令牌即可调用 Microsoft Graph 等 API。 简单说认证流程由 SDK 托管你的代码只负责用令牌。快速上手Auto Sign-in OAuth 配置三步走第一步创建 Azure Bot 并添加 OAuth Connection创建 Azure Bot。本地开发推荐SingleTenant Client Secret生产环境推荐使用托管标识Managed Identity等联合凭据方式为 Bot 添加OAuth Connection服务提供方选择Azure Active Directory v2并配置所需权限如User.Read、openid、profile确认应用注册的重定向 URI与 Bot 所在数据驻留区域匹配否则会触发AADSTS500113报错。OAuth 客户端创建界面填写应用名称、选择授权类型Grant Types是配置用户自动认证的关键一步第二步开启 AutoSignin 并配置认证处理器以 .NET 示例为核心配置对应文件samples/dotnet/auto-signin/appsettings.jsonUserAuthorization: { DefaultHandlerName: auto, AutoSignin: true, Handlers: { auto: { Settings: { AzureBotOAuthConnectionName: 你的OAuth连接名称, Title: Sign In for Sample, Text: Please sign in and send the 6-digit code } } } }Node.js在.env中写入AgentApplication__UserAuthorization__Handlers__graph__Settings__azureBotOAuthConnectionName...等键值参考samples/nodejs/auto-signin/src/index.tsPython在.env中配置AGENTAPPLICATION__USERAUTHORIZATION__HANDLERS__GRAPH__SETTINGS__AZUREBOTOAUTHCONNECTIONNAME等变量参考samples/python/auto-signin/src/agent.py。第三步本地运行并用 WebChat 测试devtunnel host -p 3978 --allow-anonymous启动智能体.NET 在 Visual Studio 中运行Node.js 执行npm start将 Azure Bot 的Messaging endpoint更新为{tunnel-url}/api/messages在 Azure Bot 页面点击Test in WebChat发送任意消息即可看到自动登录生效。⚠️ 通过 devtunnel 本地调试时仅支持 ClientSecret 与证书两种 Bot 认证方式联合凭据与托管标识需部署到 App Service 或容器。三种语言官方示例对照语言示例目录亮点功能.NETsamples/dotnet/auto-signin/全局 AutoSignin -me按路由登录的双令牌演示Node.jssamples/nodejs/auto-signin/-me命令绑定graph处理器展示个人档案 Adaptive CardPythonsamples/python/auto-signin//me绑定 GRAPH、/prs绑定 GITHUB 的双 OAuth 处理器实战各语言示例的完整说明分别位于samples/dotnet/auto-signin/README.md、samples/nodejs/auto-signin/README.md、samples/python/auto-signin/README.md。若需克隆仓库获取源码可使用git clone https://gitcode.com/gh_mirrors/agents/Agents进阶Teams SSO 静默登录与按路由令牌Teams SSO为 Teams 客户端应用预授权后用户在 Teams 内使用时 OAuth 会静默完成全程无登录弹窗前提是请求的基础权限集无需额外同意双令牌场景全局 AutoSignin 开启时按路由处理器如-me绑定的me处理器可独立获取自己的令牌同一会话内可同时持有两个不同 OAuth 连接的令牌失败兜底注册登录失败回调如 .NET 的OnUserSignInFailure在 OAuth 失败时引导用户求助人工客服。常见问题排查问题原因与解决AADSTS500113错误OAuth 应用的回调地址与 Bot 数据驻留区域不匹配需按区域更换重定向 URI欢迎语显示 Unknown UserGraph 权限scope未正确配置发送-signout强制重置登录流程后重试Teams 中仍弹登录框未配置 SSO 预授权需为 Teams 客户端应用添加预授权相关资源OAuth 连接搭建参考含区域回调地址表agent-plugins/agents-sdk-common/skills/agents-sdk-provision/references/oauth-setup.md各语言示例总索引samples/dotnet/README.md、samples/nodejs/README.md、samples/python/README.md.NET 示例认证核心代码samples/dotnet/auto-signin/AuthAgent.cs【免费下载链接】AgentsThe Microsoft 365 Agent SDK simplifies building full stack, multichannel, trusted agents for platforms including M365, Teams, Copilot Studio, and Webchat.项目地址: https://gitcode.com/gh_mirrors/agents/Agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价