这个错误发生在SPFX webpart需要请求Azure AD token的时候,全部错误信息如下:
{"error":"invalid_grant","error_description":"AADSTS65001: The user or administrator has not consented to use the application with ID '' named '******'. Send an interactive authorization request for this user and resource.}
这个问题是由于webpart没有获得相应权限导致。解决方法如下:
1. 首先在SPFX项目的package-solution.json文件中加入
"webApiPermissionRequests": [
{
"resource": "yourAzureAppName", //这个位置要改成在Azure AD App registrations里面的名字
"scope": "user_impersonation"
}
]
2. 将项目打包,发布到AppCatalog站点。
3. 然后访问 https://yourdomain-admin.sharepoint.com/_layouts/15/online/AdminHome.aspx#/webApiPermissionManagement
4. 从pending requests中选择 yourAzureAppName, 然后选择approve, 最后结果应该和下图最后一行显示的一致。
再次执行webpart,就不会再有AADSTS65001这个错误信息了。