跳转到主要内容
首页
x

Main navigation

  • 主页
  • 数字化 +
    • 数字业务自动化
    • 数字化方案
    • 数字化转型战略
    • 数字化转型治理
    • 数字化运营
    • 数字化客户
      • 客户
    • 数字化研发
      • 研发
    • 数字化制造
    • 数字化生产
    • 数字化供应链
    • 数字化销售
    • 数字化服务
    • 数字化营销
      • 营销
    • 数字化财务
    • 人力资源
    • 数字化法务
  • 企业架构 +
    • 企业安全架构
    • 企业架构框架
    • 方案架构
  • 企业业务架构
  • 企业技术架构
  • 企业应用架构
  • 企业数据架构
  • 数据应用架构 +
    • 主数据架构
    • 大数据架构
    • 数据仓库架构
    • 数据保护
    • 数据库架构
    • 数据建模
    • 数据枢纽架构
    • 数据湖架构
    • 数据编制架构
    • 数据网格架构
    • 数据虚拟化架构
  • 集成架构 +
  • 架构质量 +
  • 软件架构 +
  • 大数据架构 +
    • Hadoop 生态
    • Saprk生态
    • 大数据战略
  • 数据和分析 +
    • 机器学习
    • 数据分析
    • 数据可视化
    • 数据工程
    • 数据战略
    • 数据挖掘
    • 数据科学
    • 商务智能
  • 数据库架构 +
    • MySql架构
    • PostgreSql架构
    • 云数据库
    • 内存数据库
    • 列式数据库
    • 图形数据库
    • 搜索引擎
    • 文档数据库
  • 数据治理
  • 数据管理 +
    • 数据仓库
    • 数据湖
  • 企业合规管理
  • 企业治理 +
  • 企业风险管理
  • 隐私保护
  • 智能转型 +
  • 云计算 +
    • AWS 平台
    • SaaS云
    • Salesforce
    • 云原生
    • 云架构
    • 云治理
    • 云转型战略
    • 容器云
    • 微软云
    • 私有云
  • 人工智能 +
  • 生成式人工智能 +
    • 多模态模型
    • 大视觉模型
    • 大语言模型
    • 大音频模型
  • 万物互联 +
    • 工业控制系统
    • 工业物联网
    • 物联网(IoT)安全
    • 物联网(IoT)架构
    • 物联网战略
    • 边缘计算
  • 元宇宙
  • 区块链 +
  • 安全 +
    • 云安全
    • 安全工具
    • 安全战略
    • 安全运营
    • 应用安全
    • 数据安全
    • 终端安全
    • 网络安全
    • 隐私保护
  • 基础设施 +
  • 软件开发 +
    • 开发管理
    • 需求分析
    • 低代码开发
  • 软件测试 +
  • 软件设计
  • DevOps +
  • 敏捷
  • 项目 +
  • 平台和工具 +
    • DevOps工具
    • 云计算平台
    • 企业事件枢纽
    • 其他工具
    • 分布式平台
    • 大数据平台
    • 应用中间件
    • 开发工具
    • 数据工具
    • 集成平台
  • 语言和框架 +
    • Go语言
    • Javascript开发
    • Java开发
    • Python开发
    • Rust语言
    • TypeScript开发
    • 前端技术和框架
    • 算法和数据结构
  • 硬件和设备 +
  • 产品 +
    • 产品管理
    • 产品设计
  • 技术 +
    • 技术趋势
    • 技术选型
  • 用户体验 +
  • IT管理 +
  • 商业 +
    • 商业模型
    • 商业管理
    • 商业结构
    • 商业计划
    • 商务沟通
    • 创业
      • 创业管理
    • 国际商务
    • 经济
  • 战略 +
  • 管理 +
  • 解决方案
  • 关注
  • 社区
  • 职业
  • 职业和职位 +
  • 咨询服务
  • 微软专栏

【Bot Framework SDK】 - 关于单点登录

  1. 首页 ⟶
  2. 【Bot Framework SDK】 - 关于单点登录
Chinese, Simplified
SEO Title
Bot Framework SDK - About single sign-on

category

  • 人工智能

单点登录(SSO)允许跨独立应用程序共享对资源的访问。例如,用户可以在根机器人中登录服务,根机器人可以与技能机器人共享访问令牌。目前,只支持Microsoft Entra ID身份提供者。

SSO适用于以下场景:

  • 一个根机器人和一个或多个技能机器人。用户从根机器人登录。然后,机器人代表用户调用多种技能。
  • 嵌入在网站上的网络聊天控件。用户从网站登录。然后,该网站代表用户调用机器人或技能。
     

SSO具有以下优点:

  • 用户不必多次登录。
  • 根机器人或网站不需要知道用户的权限。

注:

SSO在Bot Framework SDK 4.8版及更高版本中可用。

SSO组件交互

以下时间序列图显示了SSO各个组件之间的交互。

  • 下图说明了根机器人的流程。

根机器人的SSO序列图。

  • 下图说明了Web聊天控件的流程和回退流程。

Web聊天控件的SSO序列图。

如果令牌交换失败,则应提示用户登录。当需要额外权限或令牌用于错误的服务时,可能会发生此类失败。

让我们分析一下流程。

  1. 客户端与机器人开始对话,触发OAuth场景。
  2. 机器人向客户端发回OAuth卡。
  3. 客户端在将OAuth卡显示给用户之前拦截它,并检查它是否包含TokenExchangeResource属性。
  4. 如果该属性存在,客户端将向机器人发送TokenExchangeInvokeRequest。客户端必须为用户提供一个可交换的令牌,该令牌必须是Microsoft Entra ID令牌,其受众必须与TokenExchangeResource相同。Uri属性。客户端向机器人发送一个Invoke活动,其正文如下所示。

JSON

{
   "type": "Invoke",
   "name": "signin/tokenExchange",
   "value": {
       "id": "<any unique ID>",
       "connectionName": "<connection Name on the skill bot (from the OAuth Card)>",
       "token": "<exchangeable token>"
   }
}
  • 机器人程序处理TokenExchangeInvokeRequest,并向客户端返回TokenExchangeInvokeResponse。客户端应等待,直到收到TokenExchangeInvokeResponse。

JSON

{
   "status": "<response code>",
   "body": {
       "id":"<unique ID>",
       "connectionName": "<connection Name on the skill bot (from the OAuth Card)>",
       "failureDetail": "<failure reason if status code isn't 200, null otherwise>"
   }
}


如果TokenExchangeInvokeResponse的状态为200,则客户端不会显示OAuth卡。见正常流程图。对于任何其他状态,或者如果没有收到TokenExchangeInvokeResponse,则客户端会向用户显示OAuth卡。请参阅回退流程图。这确保了如果存在任何错误或未满足的依赖关系,如用户同意,SSO流会回落到正常的OAuthCard流。

 

下一步


Add single sign-on to a bot

 
 
 

本文地址
https://architect.pub/bot-framework-sdk-about-single-sign
  • 登录 发表评论
  • 6 次浏览
发布日期
星期四, 八月 8, 2024 - 10:07
最后修改
星期四, 八月 8, 2024 - 10:12

Tags

  • Bot Framework SDK
  • Azure Bot Framework
  • SSO
  • 单点登录
Article
Read more

最新内容

  • 【前端开发】🚀🔥 改变编码方式的10个前端开发AI助手
    1 week 3 days ago
  • 【云架构】通过新的优化视角查看云架构
    1 week 3 days ago
  • 【微软架构】Microsoft Teams:新架构的优势
    1 month ago
  • Agentic Design Patterns | 智能体设计模式
    1 month ago
  • 微软Copilot RAG系统内部剖析
    1 month ago
  • AgentFlayer:当Jira票可以窃取你的秘密
    1 month ago
  • 【智能体安全】打破AgentKit的护栏
    1 month ago
  • Agent层:Copilot Studio中AI Agent的发现阶段
    1 month ago
  • AgentFlayer:当AI劫持导致Copilot Studio的全面数据泄漏
    1 month ago
  • 从企业数据中创造价值:Text2SQL和生成式人工智能的最佳实践
    1 month ago

Content type

Content type

  • Article

Tags

Tags

  • Bot Framework SDK
  • Azure Bot Framework
  • SSO
  • 单点登录

category

category

  • 人工智能

网站备案号:京ICP备2022026098号-2

友情链接

  • CPO宝典
  • 全球IT瞭望
  • 开发者开聊
  • 智能化转型智库
  • 架构师研究会

社交媒体

  • 公众号:智能时刻
  • 公众号:架构师研究会
  • 微博:AI开发
  • 微博:智能时刻
  • 百度 :智能时刻
  • 知乎:智能时刻

知识星球

知识星球:首席架构师圈

 

抖音直播

抖音:cea_cio(超级架构师)
干货直播,干货分享

 

微信小号

超级架构师
超级架构师小号:加群,私聊

 

微信公众号

超级架构师公众号

 

QQ群:超级架构师

QQ Group

Tags

Tags

  • Bot Framework SDK
  • Azure Bot Framework
  • SSO
  • 单点登录
© 2025 架构师研究会, All rights reserved.
↑