获取Azure active directory令牌javascript

获取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,

我试图通过发送post请求来获取AAD oauth 2.0令牌,但总是出现以下错误(请注意,在C#中使用类似的代码非常有效,并且还使用fiddler/postman)

在访问控制允许原点标头中找不到原点

  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和终端资源,仍然需要用户登录。没有一种方法可以在不提示用户的情况下以静默方式登录。