servicePrincipal:createPasswordSingleSignOnCredentials
本文内容
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
使用用户或组的密码创建单一登录凭据。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限 。
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
Application.ReadWrite.All 和 Directory.Read.All、Directory.ReadWrite.All
委派(个人 Microsoft 帐户)
不支持。
应用程序
Application.ReadWrite.All 和 Directory.Read.All、Directory.ReadWrite.All
备注
用户可以为自己创建凭据。 具有以下角色的服务主体所有者和管理员可以为任何用户或组创建凭据:GlobalAdministrator、ApplicationAdministrator、CloudApplicationAdministrator。 若要了解更多信息,请参阅 目录角色 。
HTTP 请求
POST /servicePrincipals/{id}/createPasswordSingleSignOnCredentials
名称
说明
Authorization
Bearer {token}。必需。
Content-Type
application/json. Required.
请求正文
在请求正文中,提供具有以下参数的 JSON 对象。
参数
类型
说明
id
String
此凭据集所属的用户或组的 ID。
credentials
credential 集合
定义完整登录流的凭据对象列表。
响应
如果成功,此方法在响应 200 OK 正文中返回 响应代码和新 passwordSingleSignOnCredentialSet 对象。
示例
请求
请求示例如下所示。
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/createPasswordSingleSignOnCredentials
Content-type: application/json
{
"id": "5793aa3b-cca9-4794-679a240f8b58",
"credentials": [
{
"fieldId": "param_username",
"value": "myusername",
"type": "username"
},
{
"fieldId": "param_password",
"value": "pa$$w0rd",
"type": "password"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var id = "5793aa3b-cca9-4794-679a240f8b58";
var credentials = new List<Credential>()
{
new Credential
{
FieldId = "param_username",
Value = "myusername",
Type = "username"
},
new Credential
{
FieldId = "param_password",
Value = "pa$$w0rd",
Type = "password"
}
};
await graphClient.ServicePrincipals["{servicePrincipal-id}"]
.CreatePasswordSingleSignOnCredentials(id,credentials)
.Request()
.PostAsync();
const options = {
authProvider,
};
const client = Client.init(options);
const passwordSingleSignOnCredentialSet = {
id: '5793aa3b-cca9-4794-679a240f8b58',
credentials: [
{
fieldId: 'param_username',
value: 'myusername',
type: 'username'
},
{
fieldId: 'param_password',
value: 'pa$$w0rd',
type: 'password'
}
]
};
await client.api('/servicePrincipals/{id}/createPasswordSingleSignOnCredentials')
.version('beta')
.post(passwordSingleSignOnCredentialSet);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/servicePrincipals/{id}/createPasswordSingleSignOnCredentials"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *id = @"5793aa3b-cca9-4794-679a240f8b58";
payloadDictionary[@"id"] = id;
NSMutableArray *credentialsList = [[NSMutableArray alloc] init];
MSGraphCredential *credentials = [[MSGraphCredential alloc] init];
[credentials setFieldId:@"param_username"];
[credentials setValue:@"myusername"];
[credentials setType:@"username"];
[credentialsList addObject: credentials];
MSGraphCredential *credentials = [[MSGraphCredential alloc] init];
[credentials setFieldId:@"param_password"];
[credentials setValue:@"pa$$w0rd"];
[credentials setType:@"password"];
[credentialsList addObject: credentials];
payloadDictionary[@"credentials"] = credentialsList;
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];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
String id = "5793aa3b-cca9-4794-679a240f8b58";
LinkedList<Credential> credentialsList = new LinkedList<Credential>();
Credential credentials = new Credential();
credentials.fieldId = "param_username";
credentials.value = "myusername";
credentials.type = "username";
credentialsList.add(credentials);
Credential credentials1 = new Credential();
credentials1.fieldId = "param_password";
credentials1.value = "pa$$w0rd";
credentials1.type = "password";
credentialsList.add(credentials1);
graphClient.servicePrincipals("{id}")
.createPasswordSingleSignOnCredentials(ServicePrincipalCreatePasswordSingleSignOnCredentialsParameterSet
.newBuilder()
.withId(id)
.withCredentials(credentialsList)
.build())
.buildRequest()
.post();
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
id := "5793aa3b-cca9-4794-679a240f8b58"
requestBody.SetId(&id)
requestBody.SetCredentials( []Credential {
msgraphsdk.NewCredential(),
SetAdditionalData(map[string]interface{}{
"fieldId": "param_username",
"value": "myusername",
"type": "username",
}
msgraphsdk.NewCredential(),
SetAdditionalData(map[string]interface{}{
"fieldId": "param_password",
"value": "pa$$w0rd",
"type": "password",
}
}
servicePrincipalId := "servicePrincipal-id"
result, err := graphClient.ServicePrincipalsById(&servicePrincipalId).CreatePasswordSingleSignOnCredentials(servicePrincipal-id).Post(requestBody)
Import-Module Microsoft.Graph.Applications
$params = @{
Id = "5793aa3b-cca9-4794-679a240f8b58"
Credentials = @(
@{
FieldId = "param_username"
Value = "myusername"
Type = "username"
}
@{
FieldId = "param_password"
Value = "pa$$w0rd"
Type = "password"
}
)
}
New-MgServicePrincipalPasswordSingleSignOnCredentials -ServicePrincipalId $servicePrincipalId -BodyParameter $params
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "5793aa3b-cca9-4794-679a240f8b58",
"credentials": [
{
"fieldId": "param_username",
"value": "myusername",
"type": "username"
},
{
"fieldId": "param_password",
"value": null,
"type": "password"
}
]
}