获取Azure active directory令牌javascript
我试图通过发送post请求来获取AAD oauth 2.0令牌,但总是出现以下错误(请注意,在C#中使用类似的代码非常有效,并且还使用fiddler/postman) 在访问控制允许原点标头中找不到原点获取Azure active directory令牌javascript,javascript,jquery,azure,azure-active-directory,Javascript,Jquery,Azure,Azure Active Directory,我试图通过发送post请求来获取AAD oauth 2.0令牌,但总是出现以下错误(请注意,在C#中使用类似的代码非常有效,并且还使用fiddler/postman) 在访问控制允许原点标头中找不到原点 function CallAAD() { var settings = { "async": true, "crossDomain": true,
function CallAAD()
{
var settings = {
"async": true,
"crossDomain": true,
"url": "https://login.microsoftonline.com/saurabhpersonalad.onmicrosoft.com/oauth2/token",
"method": "POST",
"headers": {
"content-type": "application/x-www-form-urlencoded",
"cache-control": "no-cache",
"Access-Control-Allow-Origin":"*"
},
"data": {
"grant_type": "client_credentials",
"client_id": "18cff243-e5f1-4e6e-9432-1790724eeb50",
"client_secret": "aUoWP9tNSDXblVvn/blmFkJtGyo8HM+YIb4JeIipdL8=",
"resource": "https://saurabhpersonalad.onmicrosoft.com/WebApplication6"
}
}
$.support.cors = true;
$.ajax(settings).done(function (response) {
debugger;
alert(response);
});
client_凭据
grant_类型,因为该grant_类型用于保密客户机,可以保护客户机机密,而jQuery用于基于浏览器的公共客户机。您可能希望使用web应用的后端使用客户端凭据调用web api
然而,为了在broswer客户端上获得AAD oauth 2.0令牌,我们建议您使用它,这是一个javascript库,用于前端轻松集成AAD。有关详细信息,请参阅。此代码将在何处运行?在客户端(例如在浏览器中)?@PhilippeSignoret YesYou不应将客户端机密放在前端。有一些流是为单页JavaScript应用程序设计的。所以,你们的意思是,若我想从jquery进行登录,那个么用户会被重定向到登录页面吗?是的,你们是对的。通常,
client\u凭据
grant\u类型用于仅应用程序场景。我正在尝试从JS访问AAD资源,这是CRM Dynamics online中的一个web资源。如果我已经在同一AAD中注册了CRM和终端资源,仍然需要用户登录。没有一种方法可以在不提示用户的情况下以静默方式登录。