我的应用程序上的这项工作托管于 localhost :
window.navigator.pointerEnabled
但是当我在azure上将生产服务器上的应用程序上传为webapp时。
我通过尝试按ID查找sharepoint网站并创建上传会话来获得此错误。
外: Microsoft.Graph.ServiceException:代码:itemNotFound 消息:找不到资源。
内在: Microsoft.Graph.ServiceException:代码:unauthenticated 消息:呼叫者未经过身份验证。
为什么它适用于localhost而不是我的azure应用程序? 应用程序注册对于开发和生产是不同的,但权限是相同的。
我知道的唯一区别是我之后添加了 Sites.Read.All 权限,而不是在我https://apps.dev.microsoft.com/注册了该应用的应用时。
我正在使用Microsoft Graph客户端获取访问令牌。 我也尝试删除所有脱机令牌,但它不起作用。
如果我在添加权限 Sites.Read.All 时记得正确,我收到了新的同意请求。
在应用中启用了权限: email,Files.Read,Files.ReadWrite,File.ReadWrite.AppFolder,offline_access,openid,profile,Site.Read.All,User.Read
有什么不对吗?
生产登录:
"https://graph.microsoft.com:443/v1.0/sites/test.sharepoint.com,edc2dd46-cea8-4b10-a872-cd1a55ba4529,b14c0787-d4c1-4f4a-9a6c-7e010d794be9/drives/b!Rt3C7ajOEEuocs0aVbpFKYcHTLHB1EpPmmx-AQ15S-nygMtHkkWNRaaOc2GebusJ/items/01VI7PMEF6Y2GOVW7725BZO354PWSELRRZ?%24filter=folder ne null&%24select=id%2cfolder%2cname%2cparentReference%2cwebUrl"
"https://graph.microsoft.com:443/v1.0/sites/test.sharepoint.com,edc2dd46-cea8-4b10-a872-cd1a55ba4529,b14c0787-d4c1-4f4a-9a6c-7e010d794be9/drives/b!Rt3C7ajOEEuocs0aVbpFKYcHTLHB1EpPmmx-AQ15S-nygMtHkkWNRaaOc2GebusJ/items/01VI7PMEF6Y2GOVW7725BZO354PWSELRRZ?%24filter=folder ne null&%24select=id%2cfolder%2cname%2cparentReference%2cwebUrl"
"https://graph.microsoft.com:443/v1.0/sites/test.sharepoint.com,edc2dd46-cea8-4b10-a872-cd1a55ba4529,b14c0787-d4c1-4f4a-9a6c-7e010d794be9/drives/b!Rt3C7ajOEEuocs0aVbpFKYcHTLHB1EpPmmx-AQ15S-nygMtHkkWNRaaOc2GebusJ/root:/Presentation.en-GB.pptx:/microsoft.graph.createUploadSession"
本地登录:
{
typ: "JWT",
alg: "RS256",
kid: "VWVIc1WD1Tksbb301sasM5kOq5Q"
}.
{
aud: "f53962c3-2bd4-4302-adcf-49d9a93ccef0",
iss: "https://login.microsoftonline.com/GUID/v2.0",
iat: 1502142424,
nbf: 1502142424,
exp: 1502146324,
aio: "ATQAy/8DAAAAo99zdMc3jCP7sR8Zw0iKijdu1Nv2AeJOpJ65OHtXb0o8QjTm9O320mHxIAv5tWJw",
c_hash: "APreKq7N3Y0oG8SP6ipZdA",
name: "First name Last name",
nonce: "636377394901824543.ZWQ4MGVkYmEtYTMzMS00ZDUyLTgzZmYtYWFjMmRkNWRjNzhhNTAxMWUyYzItOGNhNi00N2IzLTk5MGEtMTVmYTlhYzBkNDVk",
oid: "4f64d4db-8115-4f19-8554-bedf20688226",
preferred_username: "firstname.lastname@company.com",
sub: "rxGHRTX9YHogzaC_HgOmXvoKJ0Xye6Rk5HPAjLphQRc",
tid: "34e9a1f3-23e1-4ead-b2fd-41660c25cc47",
ver: "2.0"
}.
还阅读评论以了解更多详情。
答案 0 :(得分:1)
我在登录后使用http://calebb.net/在令牌上找到了错误。
Azure应用注册缺少权限 Files.ReadWrite.All ,但开发没有,但权限以某种方式包含在范围内。
Azure中的错误?如果我没记错的话,我在应用注册中包含了很多权限,然后删除了大部分权限,包括Files.ReadWrite.All。
即使我的WebApp未在范围和应用程序注册中包含权限,但每个应用程序注册的现有用户范围内都保留了Files.ReadWrite.All权限。这就是它适用于开发环境的原因。
谢谢Marc LaFleur - MSFT。