gpt4 book ai didi

microsoft-graph-api - Office API getAccessTokenAsync 结果从 Graph 产生 InvalidAuthenticationToken 响应

转载 作者:行者123 更新时间:2023-12-04 07:19:12 29 4
gpt4 key购买 nike

我已经尝试解决这个问题有一段时间了,我正在为 Outlook 开发一个 Office-js 插件,并试图通过我的插件访问 Microsoft Graph 数据。

但是我一直无法验证从 getAccessTokenAsync 收到的 token 。
如果我尝试使用 Office-JS-Helpers 中的身份验证器,我可以获得访问权限,但我更愿意使用插件的内置功能。

我试图使用的代码是这样的:

Office.initialize = () => {
var options = { forceAddAccount: true, forceConsent: true } as Office.AuthOptions;
Office.context.auth.getAccessTokenAsync(options, getAccessTokenAsyncCallback);
}


function getAccessTokenAsyncCallback(accessTokenResponse) {
console.log(accessTokenResponse.value)

client = MicrosoftGraph.Client.init({
authProvider: (done) => {
done(null, accessTokenResponse.value);
},
debugLogging: false
})
client.api("/me")
.get((err, res, rawResponse) => {
console.log(err)
console.log("rawResponse")
console.log(rawResponse)
})
}

我的 list 中的 WebApplicationInfo 是:
<WebApplicationInfo>
<Id>{AppUID}</Id>
<Resource>api://localhost:3000/{AppUID}</Resource>
<Scopes>
<Scope>profile</Scope>
<Scope>user.read</Scope>
</Scopes>
</WebApplicationInfo>
</VersionOverrides>

并且已在应用程序注册门户上的我的应用程序中设置了权限。

就我在验证/解码我从 getAccessTokenAsync 收到的 JSON Web token 时所看到的而言,它应该是有效的。

但是每当我尝试使用此 token 进行连接时,我都会收到以下响应:
{
"statusCode": 401,
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure.",
"requestId": "4a0ce952-0e90-XXXXXXXXX-db20c6cca94e",
"date": "2018-08-30T05:37:43.000Z",
"body": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure.",
"innerError": {
"request-id": "4a0ce952-0e90-XXXXXXXXX-db20c6cca94e",
"date": "2018-08-30T07:37:43"
}
}
}

我根本无法弄清楚这里的问题是什么,我错了从 getAccessTokenAsync 返回的 token 是我需要的 token 吗?

哦,是的,我正在使用 Outlook 2016 版本 1807 版本 10325.20118 单击以运行 Office365 环境

最佳答案

getAccessTokenAsync返回的token ,称为引导 token ,执行 不是 让您的加载项直接访问 MS Graph。相反,它为 Office 主机应用程序(在本例中为 Outlook)提供了对加载项 Web 应用程序的访问权限。然后,加载项的 Web 应用程序使用该 token 获取 Microsoft Graph 的访问 token 。它通过使用“代表”OAuth 流程来做到这一点。请参阅此节点上的大量文档:SSO in Office Add-ins并且,对于 Outlook 特定的指导,另见 Authenicate a user in an Outlook Add-in with an SSO token .

关于microsoft-graph-api - Office API getAccessTokenAsync 结果从 Graph 产生 InvalidAuthenticationToken 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52091734/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com