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,这当然不存在。删除后,它可以正常工作
我正在尝试使用带有 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,这当然不存在。删除后,它可以正常工作