感谢大家继续花时间阅读我的文章。上次我说了学习认证的一些准备工作,在Azure AD上注册好应用后,在成功去调用API之前,必不可少的步骤就是认证过程了。其实认证过程从原理上讲很容易,Graph API是REST API,在使用http方法的时候,总要携带认证凭据进行调用。Graph API认证的凭据类型为Bearer Token,也就是在你发送的每一条Graph API指令中,你都需要在其头文件中包含此凭据。
图为PostMan中的凭据类型
那么,基础知识来了,Graph API有哪几种获取凭据的方法呢?答案是两种,一种是通过用户名和密码的方式登录,也就是有用户参与的情况,即委托的权限认证;另一种是在没有用户参与的情况下,在Azure AD中注册的应用直接调用API执行一些操作,即应用程序权限。有关应用程序权限的认证我会在下一次中进行说明,本文我们主要介绍委托的权限如何获取认证。
当你在Office 365或者Azure上进行操作时,实质上是不同的服务主体在进行操作。如当你访问邮箱,实际上是通过了服务主体Office 365 Exchange Online(App ID 00000002-0000-0ff1-ce00-000000000000)来访问数据;当你访问OneDrive 中的数据,实际上是通过了服务主体Office 365 SharePoint Online(App ID 00000003-0000-0ff1-ce00-000000000000)来进一步访问SharePoint中的数据的。而且每个服务主体有不同的权限,进而进一步保证了安全性。
对于你之前注册的应用,实际上也是一个服务主体,和登录Exchange 服务或者SharePoint 服务的步骤大致相同。认证的过程如下:
- 无论是跳转还是直接访问,首先访问呢了如下URL(以中国版Azure AD为例):https://login.partner.microsoftonline.c