我正在使用“客户端凭据授予流”来实现Microsoft Graph API,如https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service所述。此外,该应用程序已在https://apps.dev.microsoft.com/上注册。
此处的目的是允许我们的Web应用程序执行操作,例如检查用户的日历并代表他们发送邮件,而无需每个用户进行身份验证和授予对应用程序的访问权限。这样做的目的是使其对他们透明。
所以我想我已经开始工作了,但是想澄清一些事情。
答案 0 :(得分:1)
“管理员同意书”仅对授予同意时注册的权限提供同意。因此,是的,如果您更改权限,则 还需要在您的应用程序接收新作用域之前重复“管理员同意”。
根据设计,访问令牌只能生存很短的时间。您不应该在每次请求时都请求一个新令牌,因为这会增加不必要的开销。相反,您应该仅在新令牌过期后才请求它。
包含您的令牌的AAD响应也将提供到期时间:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJ...",
"expires_in": 3599,
"token_type": "Bearer",
"scope": "https://graph.microsoft.com/mail.read https://graph.microsoft.com/user.read",
}
您可以将令牌响应与对象创建的时间混合在一起。在调用图表之前,您需要检查到期时间,以确定您的应用是否需要提前刷新令牌。