明確にするために、私は答えとしてこのリンクを投稿しています:
http://www.dotnetopenauth.net/developers/code-snippets/the-axfetchassregtransform-behavior/
このリンクは、ClaimsRequest()を使用してSREGとAXの両方の情報を取得できる小さな構成例(Andrewが述べたように)でのAXFetchAsSregTransform動作の構成ファイル設定を提供します。
これにより、一部(すべてではない)の要求情報を取得できます。Googleの場合、少なくともメールアドレスの取得で機能します。
リクエストするには:
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が必要であることに注意してください。そうでない場合、何も返されません。