我设置了基于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小时),即他将无法通过使用刷新令牌接收另一个访问令牌。
访问令牌不能被撤销,但可以配置其生存期或过期时间。
引用:
- 如何撤销令牌- Microsoft Q&A
- 在Azure Active Directory - Microsoft Entra | Microsoft Docs中的紧急情况下撤销用户访问