使用Salesforce进行Azure AD身份验证

时间:2018-05-17 05:28:11

标签: c# salesforce azure-active-directory

我们在使用Salesforce验证Azure AD时遇到错误

  

'用户或管理员未同意使用该应用程序   ID为'1d75cc30-c553-4733-9a88-501e1b45821a',名为'Salesforce'。   发送此用户和资源'

的交互式授权请求

我们在Azure目录中创建了一个应用程序,并且还授予了该应用程序所需的所有权限。

我们正在使用HTTP请求来获取身份验证令牌。

List<String> urlParams = new List<String> {
    'grant_type=authorization_code',
    'code=' + EncodingUtil.urlEncode(code, 'UTF-8'),
    'client_id=' + EncodingUtil.urlEncode(client_id, 'UTF-8'),
    'client_secret=' + EncodingUtil.urlEncode(client_secret, 'UTF-8'),
    'redirect_uri=' + EncodingUtil.urlEncode(redirect_uri, 'UTF-8'),
    'resource=' + EncodingUtil.urlEncode('https://outlook.office365.com', 'UTF-8')
};

String body = String.join(urlParams, '&');

Http h = new Http();
HttpRequest req = new HttpRequest();
req.setEndpoint(access_token_url);
req.setMethod('POST');
//req.setHeader('Content-Type', 'application/json');
req.setHeader('Content-Type', 'application/x-www-form-urlencoded');
req.setHeader('Accept', 'application/json');
req.setBody(body);

HttpResponse res = h.send(req);

请说明这里可能出现的问题。

0 个答案:

没有答案