Entra ID: 图形组浏览无声地吞下错误
作者: no-hup创建于 2026年9月8日更新于 2026年9月13日
提供方
微软 Entra ID (“ 提供者/ ms entra id.go” )
发生了什么事?
当一个用户点击 AAD 组超龄( > 200个组)时, " Enrichsession " 呼叫 addGraph Groups Tosession " 从 Microsoft Graph 读取真正的组列表。 如果 Graph 请求失败, 则错误会被记录并删除 :
开始 如果错误 ! = 无 { 伐木工,你来吗? 错误f ("微软图的无效响应, 没有为会话添加组 :% v", 错误) 返回为零 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
`AdGraph Groups Tosess ' 返回`error',呼叫者已经处理它:
开始
如果错误 = p.addGraph Groups 到会话(ctx,会话); 错误 != 0 {
返回 fmt。 错误f ("无法丰富会话 :% v", 错误)
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?由于函数在失败时返回无',该呼叫分支已死亡。 因此在一个瞬态图出局时,登录仍然成功,但会话中包含的是超龄占位符而不是用户的实际组——一个沉默,不一致的授权状态而不是明显的失败. 文件的所有其他错误路径都以 fmt' 来传播 。 Errorf " 和 " mockGraphAPI(真) " (Returns 401)在测试文件中已经存在,但没有使用它,其内容是,失败路径是注定要运行的。
~ 我所期望的~
Graph 错误应该传播, 这样调用者现有的错误处理会运行, 而登录失败, 而不是继续错误的组 。
乐于为此发送一个小的PR( 使用已存在的401 模拟支持错误+一个回归测试). 如果你宁愿在这里保持记录和持续的行为, 告诉我,我会关闭它.
内容来源: oauth2-proxy/oauth2-proxy