我正在尝试在我们的网络应用中实施一项功能,该功能允许用户连接他们的Microsoft/Outlook
帐户,以查看我们系统中Microsoft Graph API
的日历活动和联系人。
我有这个工作得很好,除了几件事。当用户关闭浏览器时,似乎连接的帐户生命周期结束。这意味着每次用户登录我们的网络应用程序时,如果他们查看日历,他们将被重定向到Microsoft登录屏幕进行登录。这不是正常的方式吗?我以为您只是被重定向才能登录一次授权网络应用程序权限?
我的理解是,一旦用户授予您的应用连接到其帐户的权限,除非他们1)当前未登录到第三方服务或2)已撤销您的应用权限,那么您将能够根据他们的权限允许访问他们的数据?
对于这么简单的事情来说,这是一个非常乏味的实现,我开始认为我已经错过了一条关键信息,因为我目前正在尝试在我们的网络应用程序中创建一个更好的“流程”。
仅供参考,我使用https://github.com/AzureAD/azure-activedirectory-library-for-js
中的adal.js
和adal-angular.js
1.0.9
更新17/06/16
我已经离开了我正在使用的版本adal.js
,我现在正在experimental
分支上工作,它的工作方式更像预期。我仍然有一些额外的代码来阻止infinte iFrame循环,但是有一个功能可以阻止adal
接管后端请求,这非常有用。