Azure Active Directory不再获取刷新令牌



我们遇到了一个意外问题:当我们达到终点时:https://login.microsoftonline.com/common/oauth2/v2.0/token,如所附图片所示,我们不再获得刷新令牌,没有更改任何代码。这似乎最近在11月27日停止了工作。

需要注意的一些事项:

  • 我们已经尝试了两个不同的应用程序id+secret,但仍然是同一个问题,有什么想法吗?如有任何帮助,我们将不胜感激
  • 我们已经根据此处添加了脱机访问:https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#offline_access

我附上了以下屏幕截图:

  • 邮差屏幕1
  • 邮差屏幕2
  • 权限访问屏幕

发现更新解决方案:以前,在授权代码中,我们使用默认值,并且工作正常。然而,Azure Active Directory方面似乎发生了一些变化。因此,我们更改了请求授权代码的范围,从而解决了问题。

从此更改:

let URL = https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=000000000-af44-44c9-a967-000000000000&response_type=code&redirect_uri=http://localhost:3000/token&response_mode=query&scope=https://graph.microsoft.com/.default&state=12345

对此:

let url = https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=000000-af44-44c9-a967-00000&response_type=code&redirect_uri=http://localhost:3000/token&response_mode=query&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.read&state=12345

总结评论中的解决方案(也来自有问题的OP更新(,供社区参考:

如果我们想要获得刷新令牌,那么offline_accessscope中是必要的。所以只要改变

let URL = https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=000000000-af44-44c9-a967-000000000000&response_type=code&redirect_uri=http://localhost:3000/token&response_mode=query&scope=https://graph.microsoft.com/.default&state=12345

let url = https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=000000-af44-44c9-a967-00000&response_type=code&redirect_uri=http://localhost:3000/token&response_mode=query&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.read&state=12345

最新更新