根据IA的SSO documentation,这些属性应该可用(我在属性URI上猜测):
查看在open id请求的第3阶段期间传递的查询字符串,以下是存在的属性:
错误,文档中的错误或键盘后面的松动螺母?
答案 0 :(得分:0)
这里有两个问题,第一个问题是我急速剪切和粘贴编码我只是要求全名和电子邮件。我修改了代码以请求名字,姓氏和领域ID。现在名字和姓氏都很好。然而,它需要花费大量时间才能找到领域问题的底部。首先,文档没有给出uri属性的明确答案;但是,我能够在这个帖子https://idnforums.intuit.com/textthread.aspx?catid=69&threadid=16954上找到一个明确的答案。保罗杰克逊清楚地知道这里发生了什么:
我在这个帖子中根据他的建议整理了一项技巧。基本上,如果领域ID没有通过,那么我将从引用URL解析它,它在查询字符串中将它作为realmId。显然,这很脆弱,但现在提供了“工作”解决方案。
以下是您可以在握手阶段3中使用的代码段。
_realmId = fetch.GetAttributeValue(OpenId.IntuitWellKnownRealmId);
if (_realmId == null && httpRequest.UrlReferrer != null)
{
var url = httpRequest.UrlReferrer.ToString();
var i = url.IndexOf('?');
if (i != -1)
{
var querystring = url.Substring(i);
_realmId = System.Web.HttpUtility.ParseQueryString(querystring)["realmId"];
}
}
我对这个解决方案毫不留情,保罗已经弄清楚了。只是发布在这里帮助任何人搜索这个问题。