gpt4 book ai didi

c# - 无法从使用旧刷新 token 调用的授予类型 refresh_token 的 azure AD 获取新的刷新 token

转载 作者:行者123 更新时间:2023-11-30 18:21:32 25 4
gpt4 key购买 nike

我正在使用 Azure 服务管理 API 和 OAuth API 来生成访问 token 。但是,在调用授予类型“refresh_token”时,要刷新访问 token ,它会返回新的访问 token ,但该响应没有新的刷新 token 。所以我必须使用旧的刷新 token 来刷新访问 token 。问题是在 5-6 小时后,刷新 token 返回错误 invalid_client(错误验证凭据。提供了无效的客户端密码)。在其他情况下,例如通过 Azure AD 进行的 Office 365 应用程序身份验证,它会返回所有内容。

是否有任何特定的参数或 header 必须通过 API 调用传递?

下面是我的代码截图

enter image description here

请帮忙。

提前致谢

最佳答案

如果您使用 v2 端点范围是动态请求的,并且必须使用“offline_access”范围请求刷新 token 。这与 v1 模型有很大不同,在 v1 模型中,范围是通过应用程序注册预先注册的,并且总是返回一个刷新 token ,而没有显式范围。如果您使用的是 v1 并且您没有获得刷新 token ,这可能是由于您的 ADFS 提供商限制了有关刷新 token 的安全策略,它没有将刷新 token 发送回调用 OAuth 身份验证和授权的 API。

这是一个安全增强/ block ,用于禁止您的应用程序不持有可以永远存在(如果刷新)的生命周期刷新 token 。

因此,如果您可以使用 v2 端点 - 使用 offline_access 范围。否则请与您的 ADFS 提供商核实安全政策。

我遇到了和你一样的问题,并从这里收集了大部分有助于回答这个问题的信息: https://stackoverflow.com/a/44813531/4446128 .

关于c# - 无法从使用旧刷新 token 调用的授予类型 refresh_token 的 azure AD 获取新的刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35308425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com