我正在努力将Outlook的日历REST API与我的个人系统集成 . 使用授权代码授权流程,我可以让用户登录我在https://apps.dev.microsoft.com中注册的应用程序 . 用户成功登录后,我会在重定向URL上收到代码 . 使用代码,我获取他的承载令牌(基本的oAuth代码流) .

现在,困惑在于他们的文档 . 它们有3种类型的API,o365,outlook.office和graph . 我正在使用他们的图形API作为日历资源 . 我正在使用https://graph.microsoft.com/v1.0/me/calendarview从主日历中获取事件,https://graph.microsoft.com/v1.0/me/events在主日历中创建事件,在批处理请求中创建https://graph.microsoft.com/beta/ $批处理 .

我想在这里介绍一些场景 . 当用户更改他/她的Outlook密码时,我需要用户重新登录该应用程序,以便我可以使用有效的承载令牌 . 从outlook documentation开始,一旦用户更改密码(搜索刷新令牌变为无效),刷新令牌就会变为无效;这意味着,在最坏的情况下,我可以使用承载令牌一小时(默认)来验证API .

这是oAuth流量的常态吗?我一直认为当用户更改密码时,不记名令牌将变为无效 .

由于我在一个组织工作,我希望我的应用程序只能由我的组织中的AD用户访问 . 应用程序清单有一个名为availableToOtherTenants的字段,默认为true . 我将该字段更改为false,以便只有属于组织AD的用户才能访问它 . 但看起来我能够使用我的个人Outlook帐户登录该应用程序;尽管有这种变化 .

我在这里做错了什么?我是否通过在https://apps.dev.microsoft.com注册申请来做到这一点?