从PowerShell创建Azure AD ClientCredentials密钥

时间:2015-03-13 05:43:52

标签: powershell azure azure-active-directory adal

在Azure门户中,我可以为Graph API创建应用程序,密钥和权限。

我可以使用以下方式获取令牌:

AuthenticationContext ac = new AuthenticationContext("https://login.windows.net/graphDir1.onmicrosoft.com");
ClientCredential cc = new ClientCredential("b3b1fc59-84b8-4400-a715-ea8a7e40f4fe", "FStnXT1QON84B5o38aEmFdlNhEnYtzJ91Gg/JH/Jxiw=");
AuthenticationResult authResult = ac.AcquireToken("https://graph.windows.net", cc);

使用Azure Active Directory Module for Windows PowerShell我可以创建一个新的对称密钥。

New-MsolServicePrincipalCredential -AppPrincipalId ??? -Type Symmetric

使用上面代码中返回的键返回错误:

AdalServiceException: AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.

以前使用的是以前版本的ADAL而不是ClientCredentialSymmetricKeyCredential,但该类已不再存在。

有没有办法从PowerShell生成一个与上面代码一起使用的密钥?

1 个答案:

答案 0 :(得分:2)

请尝试使用Password作为密钥类型:

New-MsolServicePrincipalCredential -AppPrincipalId $appId `
                                   -Type Password `
                                   -StartDate ([DateTime]::Now.AddMinutes(-5)) `
                                   -EndDate ([DateTime]::Now.AddMonths(1)) `
                                   -Value "$newPassword"

希望这有帮助