0

我在绕圈子跑。我在我们的 ASP.NET MVC 应用程序中使用 HealthVault SDK(来自 NuGet 的最新版本)。我的目标是向用户授权我们的 HealthVault 应用程序,检索他们的 PersonID 和 RecordID 并将它们存储在我们的数据库中。我无法获得PersonInfo.

首先,根据http://msdn.microsoft.com/en-us/library/ff803620.aspx#AUTH我将用户重定向到 HealthVault 进行登录。

https://account.healthvault-ppe.com/redirect.aspx?target=AUTH&targetqs=?appid={AppId}%26redirect%3d{ReturnUrl}

我被成功重定向,我授权我的记录和应用程序,我被重定向回来。

var target = Request.QueryString[ "target" ];
if (target == "APPAUTHSUCCESS") {
    var token = Request.QueryString[ "wctoken" ];
    var p = WebApplicationUtilities.GetPersonInfo( token );
}

上面的代码失败了。扔就行了var p = WebApplicationUtilities.GetPersonInfo( token )

Microsoft.Health.HealthServiceAccessDeniedException:访问被拒绝。

令牌不为空,应用程序拥有所有权限并返回成功,但始终抛出拒绝访问。什么可能是错的?

4

1 回答 1

1

在我的情况下,当我的 PFX 文件中的私钥(在 web.config 中配置)与应用程序的公钥不匹配时,就会发生这种情况。
我仍在使用测试环境并使用https://config.healthvault-ppe.com来配置我的应用程序。
尝试从 PFX 文件中提取公钥(制作 .cer 文件)并将其作为应用程序的公钥上传。

于 2013-02-21T21:36:30.280 回答