OKTA 应用程序停用 returns 404

OKTA application deactivate returns 404

我正在尝试使用带有 OKTA API 的 c# 代码创建并立即停用 OKTA 应用程序。

我能够成功创建应用程序并提取客户端 ID,但是在尝试停用应用程序时,我收到找不到客户端的错误消息。

这是我尝试停用的方式:

 public async static Task<bool> DeactivateApp(string accessToken, string clientId)
    {
        string oktaDomain = "https://myDomain.okta.com";
        string requestUrl = $"{oktaDomain}/api/v1/apps/${clientId}/lifecycle/deactivate";
        var httpClient = new HttpClient();
        string token = $"Bearer {accessToken}";
        httpClient.DefaultRequestHeaders.Add("Authorization", token);

        var response = await httpClient.PostAsync(requestUrl, null); //here i get the 404 response

        ...
    }

客户端 ID 正确,我可以看到确实存在具有该客户端 ID 的应用程序。

导致该错误的原因可能是什么?

我认为您代码中的问题是要在“授权”header 中发送的令牌需要“SSWS ”,请检查。休息一切看起来都很好。

所以问题出在 url。

string requestUrl = $"{oktaDomain}/api/v1/apps/${clientId}/lifecycle/deactivate";

我不小心在中间的 clientId 之前添加了 $,因此造成了错误的 url。它搜索了一个开头带有 $ 的 id,这当然不存在。删除后,它可以正常工作