当我尝试使用以下代码创建身份验证标头时。我收到错误说" AADSTS70002:验证凭据时出错。 AADSTS50012:提供了无效的客户端密钥。"现在,我确信,我在代码中使用的秘密与我的AAD app注册中使用的秘密不匹配。任何人都可以通过我的应用程序注册或如何在我的O365帐户目录中添加新的应用程序标识符来帮助我了解如何保密客户端。
private string GetAuthenticationHeader(AuthenticationInformation authenticationInformation){
try{
return RetryHelper.InvokeWithRetries(() =>
{
var clientCredential = new ClientCredential(authenticationInformation.ClientId, authenticationInformation.AppSecret);
var ac = new AuthenticationContext(authenticationInformation.Authority);
AuthenticationResult ar = ac.AcquireToken(authenticationInformation.Resource, clientCredential);
return ar.CreateAuthorizationHeader();
});
}
catch (Exception ex){
return ex.Message;
}
}
答案 0 :(得分:5)
要为Web应用程序的凭据添加密钥,请单击Azure Portal中Azure AD应用程序的Settings
刀片中的“密钥”部分:
有关如何向Azure Active Directory租户注册和更新应用程序的详细信息,请单击here。
答案 1 :(得分:0)
我在尝试通过提琴手获取图形标记时遇到此错误。这是因为我的secret key had few unnecessary characters like + and /
。
secret key must be encoded before making request.
我用%2B
替换了+,并在我的秘密密钥中请求了提琴手的请求,它的作用就像是一种魅力。