You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用SSO的ServiceNow中无弹窗生成含用户断言的Azure AD OAuth令牌

ServiceNow无弹窗生成含用户断言的OAuth令牌(支持OBO流)

核心解决方向

要避免登录/账户选择弹窗,核心是让ServiceNow复用用户已有的Azure AD SSO会话,直接生成带用户断言的令牌,跳过交互式授权流程。

具体配置操作

1. 优化OAuth应用注册表

  • 打开已创建的「连接到第三方OAuth提供商」应用注册表,进入高级设置:
    • 勾选「允许使用现有用户会话获取令牌」(部分版本字段可能为Use existing session for token retrieval),让ServiceNow优先复用当前用户的SSO会话。
    • 确认回调URL为ServiceNow官方端点:https://<你的实例域名>.service-now.com/oauth_callback.do,确保Azure AD能正确回调令牌。

2. 调整REST消息的OAuth认证参数

  • 在REST消息的OAuth2.0配置中,添加额外参数:
    • 新增键值对:prompt=none,这个参数会告知Azure AD不触发交互式登录,直接使用现有会话生成令牌。
    • 勾选「使用会话凭据」(Use session credentials),确保ServiceNow基于当前登录用户的身份生成用户断言。

3. 确认Azure AD端的OBO权限配置

  • 在Azure AD门户中,找到ServiceNow对应的应用注册:
    • 添加委派权限,目标为你要调用的外部API,并完成管理员同意(若权限需要)。
    • 确保ServiceNow应用注册的「清单」中oauth2AllowImplicitFlow或oauth2AllowIdTokenImplicitFlow配置正确,支持用户断言传递。

4. 验证无弹窗流程

  • 以已通过Azure AD SSO登录的用户身份触发REST调用:
    • 正常情况下,ServiceNow会直接从现有会话提取用户信息,向Azure AD请求带OBO断言的Bearer Token,不会弹出任何窗口。
    • 可通过ServiceNow的系统日志 > 应用日志查看令牌生成日志,确认令牌中包含on_behalf_of相关断言内容。

常见问题排查

  • 若仍弹出窗口,检查以下几点:
    • 用户的SSO会话是否有效:在ServiceNow中进入用户 > 会话管理,确认当前用户会话状态正常。
    • Azure AD是否强制二次认证:若用户MFA过期或需要重新验证,prompt=none会失效,需先让用户完成认证。
    • ServiceNow的SSO设置:确保「SSO用户跳过登录页面」选项已开启,避免用户进入ServiceNow时需二次选择账户。

内容的提问来源于stack exchange,提问作者tidyomnivore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:33:13