如何撤销Azure AD Oauth令牌?



我设置了基于Azure Active Directory (AAD)的身份验证,并收到Azure AD Oauth令牌,开始探索Microsoft Dynamics 365 Business Central API (https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-develop-connect-apps)。

现在,当用户想要从我的应用程序断开连接时,我需要一种方法来撤销令牌(如上所述)。我试图找到一个端点,如.../oauth2/deauthorize,并发送POST请求与data={'refresh_token': <my-refresh-token>}headers={'Authorization': <my-client-id-client-secret-pair>}

但我没有设法找到这样的解决方案:(有人能帮帮我吗

如果用户通过身份验证,他将获得访问令牌和刷新令牌。您可以通过以下方式撤销刷新令牌使用Powershell命令

PS C:> Revoke-AzureADUserAllRefreshToken -ObjectId "a1dxxxxx-7xx6-4xxd-axxx-b7xxxxxxxa33"

使用Microsoft图形API

POST https://graph.microsoft.com/{version}/users/{userobject_id}/invalidateAllRefreshToken`

这样做,用户将无法访问动态365在访问令牌过期后(1小时),即他将无法通过使用刷新令牌接收另一个访问令牌。

访问令牌不能被撤销,但可以配置其生存期或过期时间。

引用:

  1. 如何撤销令牌- Microsoft Q&A
  2. 在Azure Active Directory - Microsoft Entra | Microsoft Docs中的紧急情况下撤销用户访问

最新更新