我正在运行dotnetopenauth 3.3.0.9283(每晚构建),它运行良好,它解决了我以前的问题(DotNetOpenAuth get email and redirect problem)
所以现在我只能从gmail收到用户的电子邮件!我已经尝试了雅虎和myspace,但我总是得到“对象引用没有设置为对象的实例。”我运行了build,ajaxlogin.aspx和loginProgrammatic.aspx附带的示例,他们都给了我相同的错误信息。
这是我添加到示例中的唯一一行(并且还将电子邮件设置为必需的)
var email = OpenIdAjaxTextBox1.AuthenticationResponse.GetExtension<ClaimsResponse>().Email;
答案 0 :(得分:7)
你在一行上有太多代码。
如果提供者实际上没有在响应中包含该扩展名,则 GetExtension<T>()
将返回null。因此,在解除引用之前,必须始终检查它是否返回非空值。
你从雅虎那里得到了回报,因为他们不支持赠送用户的额外信息(除了RP的小白名单)。
我不了解MySpace,但我怀疑他们也不支持它。