我们在SharePoint Online中运行了一个Provder Hosted应用程序。这已经运行了差不多一年(或两年)没有任何问题。
但是今天我们遇到了一个问题,即提供商托管应用无法创建SharePoint上下文。经过SAML检查后,我们发现秘密值已经过时了。
然后我们添加了一组新的密钥,其中包含本文中描述的新秘密: https://msdn.microsoft.com/en-us/library/office/dn726681(v=office.15).aspx (我还配置了web.config并拥有正确的TokenHelper.cs)
但是现在我发现了以下错误:
无效的JWT令牌。无法解析颁发者令牌。
我的JWT令牌得到以下标题:
{
"typ": "JWT",
"alg": "RS256",
"x5t": "MnC_VZcATfM5pOYiJHMba9goEKY"
}
和这个有效载荷:
{
"aud": "aefb17f0-e9d0-455e-ad3b-beb5ed917229/myapp.azurewebsites.net@38de6aa7-8463-4f48-a281-f6492da7fc88",
"iss": "00000001-0000-0000-c000-000000000000@38de6aa7-8463-4f48-a281-f6492da7fc88",
"nbf": 1446809939,
"exp": 1446853139,
"appctxsender": "00000003-0000-0ff1-ce00-000000000000@38de6aa7-8463-4f48-a281-f6492da7fc88",
"appctx": "{\"CacheKey\":\"RSS44EdBaPB95yqMHVTPG6IjJmW9gTCXqB4cEBi5CPk=\",\"NextCacheKey\":null,\"SecurityTokenServiceUri\":\"https://accounts.accesscontrol.windows.net/tokens/OAuth/2\"}",
"refreshtoken": "IAAAANkH_KL_8o5Ywirb8vICkixTM8ua3nUZhCqpyogpttXy3ovx7HUpgv7pvN8Uy-uVa53kc8gPy2onhFZZTD-6Tc9QcxNxnzSEW3LJdQ8Xdz2KwfMchFq0D0053qtjGQaJY6kt1DR6EcU2fnjrlpBWc2Zxy661GVFFHw4duK0SUNiFMo3OHvHcraXAsLMkWA_LBB9nR5z-u9GieKpBLB9GKiHxyxxuO1ByYgWJoHYCDFffwlsC-AH3TteywkFCBw70FUDw9FyWOVwOHKmUyxmsrGI8HZGuC-J7qa5LGl7villsW-AY-U_uZS-h0zB7iYQI2OVxJt6-KmMDbQkIJHR8XvI",
"isbrowserhostedapp": "true"
}
在某些论坛中,我读到我必须等待12个小时,以便应用新生成的秘密。这是真的还是我做错了什么?
答案 0 :(得分:0)
我最近遇到过类似的问题。秘密已过期,我按照您链接的文章中的步骤生成新秘密。那个秘密不起作用。我给了它8个小时,因为我读到它可能需要一段时间才能工作,但没有运气。
然后,我使用卖方信息中心as per this MSDN article更新了密码,这样做有效,但仅在几个小时之后。
奇怪的是,在卖家仪表板上我没有看到我使用PowerShell生成的秘密,如果我在PowerShell中列举了秘密,我就不会看到卖家仪表板上生成的秘密。全部使用相同的客户端ID。