[英]400 error for https://login.microsoftonline.com/common/oauth2/token post request React Typescript
[英]Is it possible to call login.microsoftonline.com from javascript to get Bearer Token without using node.js
我正在尝试从 javascript 客户端调用 login.microsoftonline.com/xxx/oauth2/token 以获取承载令牌。 但是当我执行我的请求时,我总是会收到错误 400 Bad Request 而没有任何信息。 在 Postman 中执行我的请求时,一切正常,我得到了我的 Bearer Token,但是在我的 javascript 客户端中尝试时,我收到了这个错误。 我阅读了有关使用 msal.js 库的信息,但据我所知,我需要使用 node.js 服务器才能使用该库访问 azure 广告。 在我的环境中,我没有机会设置 node.js 服务器来使用该库。
我尝试在我的 javascript 客户端中使用以下代码:
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
myHeaders.append("Cookie", "esctx=XXX; fpc=XXX; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd");
var urlencoded = new URLSearchParams();
urlencoded.append("grant_type", "client_credentials");
urlencoded.append("client_id", "XXX");
urlencoded.append("client_secret", "XXX");
urlencoded.append("resource", "XXX");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: urlencoded,
redirect: 'follow'
};
fetch("https://login.microsoftonline.com/XXX/oauth2/token", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
但是使用它会给我一个错误的请求错误。 该代码是由 postman 根据我在 postman 中的工作请求生成的。关于从客户端调用 azure 广告承载令牌,我还需要了解其他任何信息吗? 从 postman 调用它有什么不同吗?
谢谢您的帮助。 如果您需要任何进一步的信息,我会添加它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.