CORS 预检问题
CORS Prelight Issue
我在 jQuery 调用我的 azure 应用程序代理
时遇到以下错误
XMLHttpRequest 无法加载 https://azentsearchdev01-mytenant.msappproxy.net/search?text=mytext&type=json&callback=json_callback。
预检响应无效(重定向)
这就是我正在做的
从 mytenantsite.sharepoint.com,调用 jQuery 调用以下 url - https://azentsearchdev01-mytenant.msappproxy.net
[ 上的 Azure 应用程序=49=]
作为通话的一部分,我正在使用来自 Azure AD 的身份验证令牌(访问令牌)设置授权 header
jQuery 调用失败,302 重定向到 https://login.microsoftonline.com/
这是我的代码
//authorization context
var resource = 'https://azentsearchdev01-mytenant.msappproxy.net/';
var endpoint = 'https://azentsearchdev01-mytenant.msappproxy.net/search?text=mytext&type=json&callback=json_callback';
var authContext = new AuthenticationContext({
instance: 'https://login.microsoftonline.com/',
tenant: 'mytenant.onmicrosoft.com',
clientId: 'guid for client id',
postLogoutRedirectUri: window.location.origin,
cacheLocation: 'localStorage'
});
//save tokens if this is a return from AAD
authContext.handleWindowCallback();
var user = authContext.getCachedUser();
if (user) { //successfully logged in
authContext.acquireToken("https://graph.windows.net", function (error, token) {
if (error || !token) {
jQuery("#loginMessage").text('ADAL Error Occurred: ' + error);
return;
}
$.ajax({
type: 'GET',
url: endpoint,
headers: {
Accept: 'application/json',
},
beforeSend: function(xhr, settings) {
xhr.setRequestHeader('Authorization','Bearer ' + token);
}
}).done(function (data) {
jQuery("#loginMessage").text('success');
}).fail(function (err) {
jQuery("#loginMessage").text('Error calling endpoint: ' + err.statusText); **-->This is where the code lands**
});
到目前为止-
根据我所读到的内容,这是浏览器处理 CORS 预检重定向的当前状态的已知差距。参考 .
问题-
是否有任何选项可以成功调用需要 cors 预检重定向的应用程序?
为了解决Azure AD应用代理的CORS问题,我们可以为Azure AD应用代理开发一个代理。
而且如果有人想要Azure AD应用代理支持CORS,可以通过this link投票。
我在 jQuery 调用我的 azure 应用程序代理
时遇到以下错误XMLHttpRequest 无法加载 https://azentsearchdev01-mytenant.msappproxy.net/search?text=mytext&type=json&callback=json_callback。 预检响应无效(重定向)
这就是我正在做的
从 mytenantsite.sharepoint.com,调用 jQuery 调用以下 url - https://azentsearchdev01-mytenant.msappproxy.net
[ 上的 Azure 应用程序=49=]作为通话的一部分,我正在使用来自 Azure AD 的身份验证令牌(访问令牌)设置授权 header
jQuery 调用失败,302 重定向到 https://login.microsoftonline.com/
这是我的代码
//authorization context
var resource = 'https://azentsearchdev01-mytenant.msappproxy.net/';
var endpoint = 'https://azentsearchdev01-mytenant.msappproxy.net/search?text=mytext&type=json&callback=json_callback';
var authContext = new AuthenticationContext({
instance: 'https://login.microsoftonline.com/',
tenant: 'mytenant.onmicrosoft.com',
clientId: 'guid for client id',
postLogoutRedirectUri: window.location.origin,
cacheLocation: 'localStorage'
});
//save tokens if this is a return from AAD
authContext.handleWindowCallback();
var user = authContext.getCachedUser();
if (user) { //successfully logged in
authContext.acquireToken("https://graph.windows.net", function (error, token) {
if (error || !token) {
jQuery("#loginMessage").text('ADAL Error Occurred: ' + error);
return;
}
$.ajax({
type: 'GET',
url: endpoint,
headers: {
Accept: 'application/json',
},
beforeSend: function(xhr, settings) {
xhr.setRequestHeader('Authorization','Bearer ' + token);
}
}).done(function (data) {
jQuery("#loginMessage").text('success');
}).fail(function (err) {
jQuery("#loginMessage").text('Error calling endpoint: ' + err.statusText); **-->This is where the code lands**
});
到目前为止-
根据我所读到的内容,这是浏览器处理 CORS 预检重定向的当前状态的已知差距。参考
问题-
是否有任何选项可以成功调用需要 cors 预检重定向的应用程序?
为了解决Azure AD应用代理的CORS问题,我们可以为Azure AD应用代理开发一个代理。
而且如果有人想要Azure AD应用代理支持CORS,可以通过this link投票。