我正在尝试获取访问令牌以访问word online add-in
内用户的一个驱动器。我按照this link上的说明操作。
我使用以下网址从我正在开发的ms word online add-in中请求授权代码。
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http://localhost/myapp/
&response_mode=query
&scope=offline_access user.read mail.read
&state=12345
我使用以下代码生成GET请求:
function getAuthorizationCode() {
var xhr = new XMLHttpRequest();
xhr.open(
"GET",
"https://login.microsoftonline.com/common/oauth2/v2.0/authorize?\
client_id=6731de76-14a6-49ae-97bc-6eba6914391e\
&response_type=code\
&response_mode=query\
&scope=offline_access%20user.read%20mail.read\
&state=12345",
true
);
xhr.send();
xhr.addEventListener("readystatechange", processRequest, false);
xhr.onreadystatechange = processRequest;
function processRequest(e) {
if (xhr.readyState == 4 && xhr.status == 200) {
var response = JSON.parse(xhr.responseText);
}
}
}
但服务器正在抛出错误说法
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://localhost:3000' is therefore not allowed access.
如果将上述链接复制并粘贴到浏览器中,则可以正常工作。 我该怎么办?是否有其他方法可以在MS Word Online加载项中获取访问令牌。
答案 0 :(得分:0)
Office Web加载项包括支持基于应用程序用户提取令牌。这提供了SSO体验,并且无需使用与已登录到应用程序的相同凭据重新进行身份验证。
您可以在Enable single sign-on for Office Add-ins了解此功能。