为澄清起见,我将此链接发布为答案:
http://www.dotnetopenauth.net/developers/code-snippets/the-axfetchassregtransform-behavior/
此链接在一个小型配置示例(如 Andrew 所述)中提供了 AXFetchAsSregTransform 行为的配置文件设置,该示例允许使用 ClaimsRequest() 获取 SREG 和 AX 信息。
这允许检索一些(但不是全部)请求信息。对于谷歌来说,它至少可以用于电子邮件地址检索。
提出请求:
var req = openid.CreateRequest(Request.Form["openid_identifier"]);
var fields = new ClaimsRequest();
fields.Email = DemandLevel.Require;
fields.FullName = DemandLevel.Require;
req.AddExtension(fields);
return req.RedirectingResponse.AsActionResult();
接收响应:
var claim = response.GetExtension<ClaimsResponse>();
string email = null, fullname= null, password = null;
if (claim != null)
{
email = claim.Email;
fullname = claim.FullName;
}
请注意,Google 似乎只接收电子邮件地址,并且需要 DemandLevel.Require,否则不会返回任何内容。