application: removeKey
命名空间:microsoft.graph
从应用程序中删除密钥 凭据。 此方法和 addKey 可用于应用程序自动滚动其过期密钥。
作为此方法的请求验证的一部分,将验证拥有现有密钥的证明,然后才能执行该操作。
权限
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
无。 |
| 委派(个人 Microsoft 帐户) |
无。 |
| 应用程序 |
无。 |
备注
应用程序不需要任何特定权限来滚动自己的密钥。
HTTP 请求
POST /applications/{id}/removeKey
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供以下必需属性。
| 属性 |
类型 |
说明 |
| keyId |
Guid |
密码的唯一标识符。 |
| proof |
String |
用作现有密钥拥有证明的自签名 JWT 令牌。 此 JWT 令牌必须使用应用程序现有有效证书之一的私钥进行签名。 令牌应包含以下声明:aud - 受众需要是 00000002-0000-0000-c000-000000000000。iss -颁发者必须是正在进行呼叫的应用程序的 ID。nbf -“不早于”时间。exp - 过期时间应该是“不早于”+ 10 分钟。
下面是可用于 生成 此拥有令牌证明的代码示例。 |
响应
如果成功,此方法返回 204 No content 响应代码。
示例
下面的示例展示了如何调用此 API。
请求
下面展示了示例请求。
POST https://graph.microsoft.com/v1.0/applications/{id}/removeKey
Content-Type: application/json
{
"keyId": "f0b0b335-1d71-4883-8f98-567911bfdca6",
"proof":"eyJ0eXAiOiJ..."
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var keyId = Guid.Parse("f0b0b335-1d71-4883-8f98-567911bfdca6");
var proof = "eyJ0eXAiOiJ...";
await graphClient.Applications["{application-id}"]
.RemoveKey(keyId,proof)
.Request()
.PostAsync();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const removeKey = {
keyId: 'f0b0b335-1d71-4883-8f98-567911bfdca6',
proof: 'eyJ0eXAiOiJ...'
};
await client.api('/applications/{id}/removeKey')
.post(removeKey);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/applications/{id}/removeKey"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *keyId = @"f0b0b335-1d71-4883-8f98-567911bfdca6";
payloadDictionary[@"keyId"] = keyId;
NSString *proof = @"eyJ0eXAiOiJ...";
payloadDictionary[@"proof"] = proof;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
UUID keyId = UUID.fromString("f0b0b335-1d71-4883-8f98-567911bfdca6");
String proof = "eyJ0eXAiOiJ...";
graphClient.applications("{id}")
.removeKey(ApplicationRemoveKeyParameterSet
.newBuilder()
.withKeyId(keyId)
.withProof(proof)
.build())
.buildRequest()
.post();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
keyId := "f0b0b335-1d71-4883-8f98-567911bfdca6"
requestBody.SetKeyId(&keyId)
proof := "eyJ0eXAiOiJ..."
requestBody.SetProof(&proof)
applicationId := "application-id"
graphClient.ApplicationsById(&applicationId).RemoveKey(application-id).Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Applications
$params = @{
KeyId = "f0b0b335-1d71-4883-8f98-567911bfdca6"
Proof = "eyJ0eXAiOiJ..."
}
Remove-MgApplicationKey -ApplicationId $applicationId -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
HTTP/1.1 204 No Content