1

我正在为 Outlook、前端 Angular、后端 Web API 编写应用程序。我在前端使用 adal 成功获取了访问令牌, sessionStorage 是:

adal.access.token.keyxxxxx6b-xxxx-xxxx-xxxx-376xxxx9c09:"Access-token"
adal.error:""
adal.error.description:""
adal.expiration.key:"0"
adal.expiration.keyxxxxx6b-xxxx-xxxx-xxxx-376xxxx9c09:"1482073764"
adal.idtoken:"access-token"
adal.login.error:""
adal.login.request:"http://localhost:8080/"
adal.nonce.idtoken:"xxxxx6b-xxxx-xxxx-xxxx-376xxxx9c09"
adal.session.state:"86xxxxxd-xxxx-480b-xxxx-34923xxxx918"
adal.state.login:"9axxxxxx-xxxx-xxxx-xxxx-360xxxxxx94"
adal.token.keys:"xxxxx6b-xxxx-xxxx-xxxx-376xxxx9c09|"
adal.token.renew.statusxxxxx6b-xxxx-xxxx-xxxx-376xxxx9c09:"Completed"

现在我正在向后端发送访问令牌,我想从 Outlook API 获取消息,但我该怎么做。搜索outlook REST api,并使用POSTMAN测试,但不工作。(401错误)

Get https://outlook.office.com/api/v2.0/me/messages
Authorization: Bearer access-token
Accept: application/json

关于如何做到这一点的任何建议?提前致谢。

4

1 回答 1

1

看起来您正在尝试完成代表流程。这是前端 API 获取中间层服务的访问令牌的地方,中间层服务随后获取后端 API 的访问令牌。假设从前端到中间层的令牌具有用户上下文。通过使用原始访问令牌请求新的访问令牌,您可以使用相同的用户上下文从中间层获取令牌到后端。

以下是有关流程的更多详细信息:查找标题为使用 OAuth 2.0 代表草案规范的委托用户身份的部分

这是一个集成此流程的代码示例: https ://github.com/Azure-Samples/active-directory-dotnet-webapi-onbehalfof

请注意,在这种特定情况下,401 错误意味着您没有正确的权限来调用和访问所需的 API。您能否确保您为要访问的资源以及您正在访问它的客户端选择了正确的权限?

我希望这就是你要找的!

于 2016-12-19T19:22:54.200 回答