首页 文章

无法从使用旧刷新令牌调用的授权类型refresh_token的azure AD获取新的刷新令牌

提问于
浏览
3

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

我必须通过API调用传递任何特定参数或标头吗?

以下是我的代码的屏幕截图

enter image description here

请帮忙 .

提前致谢

1 回答

  • 0

    如果使用v2 endpoints ,则动态请求范围,并且必须使用“offline_access”范围请求刷新令牌 . 这与v1模型有很大不同,后者在应用程序注册中预先注册了作用域,并且总是在没有显式作用域的情况下返回刷新令牌 . 如果您正在使用v1而您没有获得刷新令牌,则可能是由于ADFS提供程序对刷新令牌的安全策略有限,而不是向调用OAuth身份验证和授权的API发回刷新令牌 .

    这是安全性增强/阻止,以禁止您的应用程序不持有可永久存在的生命周期刷新令牌(如果刷新) .

    因此,如果您可以使用v2 endpoints - 请使用offline_access范围 . 否则,请与ADFS提供商一起检查安全策略 .

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

相关问题