首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure AD / Microsoft Graph用于多客户端应用程序的内容

Azure AD / Microsoft Graph用于多客户端应用程序的内容
EN

Stack Overflow用户
提问于 2018-04-06 01:08:44
回答 1查看 349关注 0票数 0

我需要能够监视用户的Hotmail或Outlook帐户在离线模式下通过后端。但是,用户可以注册并授权用户从web应用程序(如Laravel或Lumen )或Cordova移动应用程序或其他SPA接口(如角)访问帐户。基本上,该应用程序是在https://apps.dev.microsoft.com上为隐式流配置的。

由于该应用程序需要后端离线处理,让我们每天进行几次处理--我需要一个刷新令牌来更新access_token。获得Azure广告同意的方法有两种。

  1. id_token = id_token +令牌(但限制是id_token仅是特定于客户机的)。这种方法更适合在客户端运行和用户在线时获取电子邮件。
  2. 授权=代码,然后生成access_token和refresh_token。

问题-选项2对hotmail/outlook.com和O365都有效吗?如果访问和刷新令牌是由客户端生成的,那么它们是否适用于用户帐户和电子邮件的在线和离线访问。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-06 08:47:46

你当然可以。但是,如果您希望接收令牌响应中的刷新令牌,则您的应用程序必须请求并被授予offline_acesss scope

作用域允许您的应用程序代表用户访问资源的时间较长。在“工作帐户同意”页面上,此范围显示为“随时访问您的数据”权限。在个人Microsoft帐户同意页面上,它显示为“随时访问您的信息”权限。当用户批准offline_access作用域时,应用程序可以从v2.0令牌端点接收刷新令牌。刷新令牌的使用时间很长。当旧的访问令牌过期时,应用程序可以获得新的访问令牌。

请求示例:

//行间隔仅限于易读性

代码语言:javascript
复制
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
&state=12345

实际上,如果您使用代码授予流在AAD中签名,您将看到以下页面:

如果您单击“是”,您将同意offline_access范围。注意:这对MSA和AAD帐户都适用。

您可以在这份文件中看到有关这份文件 sope的更多详细信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49683772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档