我正在使用Azure服务管理应用程序接口和OAuth应用程序接口生成访问令牌。但是当对授权类型"refresh_token“进行调用时,为了刷新访问令牌,它返回新的访问令牌,但是该响应没有新的刷新令牌。所以我必须使用旧刷新令牌来刷新访问令牌。问题是5-6小时后,刷新令牌返回错误invalid_client(验证凭据时出错。提供的客户端密钥无效)。在其他情况下,比如通过Azure AD进行Office 365应用程序身份验证,它会返回所有内容。
有没有什么特殊的参数或者头部需要我通过API调用来传递?
下面是我的代码的截图
请帮帮忙。
提前感谢
发布于 2017-07-04 08:47:26
如果您使用v2端点作用域,则动态请求端点作用域,并且必须使用"offline_access“作用域请求刷新令牌。这与在v1模型中有很大不同,在该模型中,作用域与应用程序注册一起预先注册,并且总是在没有显式作用域的情况下返回刷新令牌。如果您正在使用v1 &您没有获得刷新令牌,这可能是由于您的ADFS提供程序关于刷新令牌的受限安全策略,它没有将刷新令牌发送回调用OAuth身份验证和授权的API。
这是安全增强/阻止,以禁止您的应用程序不持有生命周期刷新令牌,该令牌可以永远存在(如果刷新)。
因此,如果可以使用v2端点,请使用offline_access作用域。否则,请与您的ADFS提供程序检查安全策略。
我遇到了与您相同的问题&从这里收集了帮助回答这个问题的大部分信息:https://stackoverflow.com/a/44813531/4446128。
https://stackoverflow.com/questions/35308425
复制相似问题