看起来我一个人想不出来。我正在尝试为离线Healthvault访问注册一个用户,但我找不到一个不到四年的好例子。HV已经改变了,MVC也改变了。
据我所知,要访问Healthvault上的用户信息,基本上需要四件事。应用程序证书、与该证书关联的应用程序ID、personId和recordId。(后两者在不同的情况下使用不同的名称也没有帮助。)
在HV将用户发送回来后,我在处理重定向时遇到了问题。我似乎无法控制它的去向,也无法控制如何获取personId和recordId。
为了帮助我理解发生了什么,我想要做的是建立一个非常基本的MVC应用程序,用户点击一个按钮,他们被带到Healthvault,在那里他们对自己进行身份验证,授权我的应用程序,他们返回到应用程序,我得到他们的personId和recordId。我不想让它们像我发现的大多数示例那样使用HV验证到我的应用程序中。
在这方面的任何帮助都非常感谢。
发布于 2017-05-04 05:57:17
经过几天的努力尝试了解情况,最后在StackOverflow上为here写了一个问题,我在短短几个小时内就弄明白了。有些日子是顿悟,有些日子只有Eh。
我希望稍后对此进行扩展,但简短的答案是,我将Microsoft.Health.Web.MVC属性RequireSignIn放在了我所调用的控制器上。这就像它应该做的那样,把我带到了Healthvault,在那里我登录了。现在,为了避免被重定向回同一个控制器并陷入无休止的循环,我必须进入web配置,并将应用程序设置NonProductionActionUrlRedirectOverride更改为我想要结束的控制器和操作。
控制器中的操作如下所示:
// GET: Healthvault
[HttpGet]
[RequireSignIn]
public ActionResult RegisterUser()web配置中的条目如下所示:
<add key="NonProductionActionUrlRedirectOverride" value="Healthvault/Index"/>一旦我回到Healthvault控制器的Index操作,我将不得不从URI中取出recordId,这样我就可以保存这些值,以便以后访问patients记录。
https://stackoverflow.com/questions/43765869
复制相似问题