0

私は輪になって走っています。ASP.NETMVCアプリケーションでHealthVaultSDK(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:アクセスが拒否されました。

トークンはnullではなく、アプリケーションにはすべてのアクセス許可があり、成功を返しますが、Accessdeniedは常にスローされます。何が間違っている可能性がありますか?

4

1 に答える 1

1

私の場合、これは、PFX ファイル (web.config で構成された) の秘密キーがアプリケーションの公開キーと一致しなかったときに発生しました。
私はまだテスト環境を使用しており、https://config.healthvault-ppe.comを使用してアプリケーションを構成しています。
PFX ファイルから公開鍵を抽出 (.cer ファイルを作成) し、アプリケーションの公開鍵としてアップロードしてみてください。

于 2013-02-21T21:36:30.280 に答える