有什么区别" app only" flow vs"委托方案"使用Microsoft Graph?

时间:2018-04-25 19:10:29

标签: microsoft-graph

请描述不同之处。如果用户可以访问我的应用程序,那么我可以使用"委派方案"代表用户行事并访问他/她的电子邮件,联系人等。我已经在使用MS Graph api访问我的用户'数据,但有时甚至在检索access token后我会遇到此消息:Resource could not be discovered.

1 个答案:

答案 0 :(得分:1)

委派范围用于涉及经过身份验证的用户的方案。除非您正在构建一个守护程序/服务应用程序或者您有非常特殊的需求,否则可以安全地使用委托作用域。某些范围可能仍然需要管理员同意(即读取任何用户日历的能力),但大多数范围仅要求用户自己同意(即能够阅读他们自己的日历)。

应用程序范围(又名“仅应用程序”)用于没有用户可用于身份验证或应用程序无头的情况(因此没有用户可以身份验证的UI)。这些是非常宽松的权限,始终要求全局管理员同意您请求的范围。这些也仅适用于工作/学校帐户(AAD),不能与个人Microsoft帐户(MSA)一起使用。

使用哪些范围是您用于获取令牌的OAuth授权的直接结果。

  • 授权代码授予(authorization_code)==委托范围
  • 隐式授权(implicit)==委托范围
  • 客户端凭据授予(client_credentials)==应用范围