Я не уверен, что вам нужно, чтобы запрос OpenID выглядел именно так, когда вы создаете свой собственный поставщик OpenID.
Вам нужно только использовать Fetch and Store (если вы хотите разрешить сохранение данных) запросы и ответы, и это очень просто.
IAuthenticationRequest request)
var ax = new FetchRequest();
ax.Attributes.AddRequired("http://axschema.org/contact/email");
ax.Attributes.AddRequired("http://axschema.org/namePerson");
request.AddExtension(ax);
В провайдере OpendID вы должны перехватить этот запрос и создать FetchResponse
var fetchRequest = pendingRequest.GetExtension<FetchRequest>();
var fetchResponse = new FetchResponse();
fetchResponse.Attributes.Add("http://axschema.org/contact/email", "some@email.com");
fetchResponse.Attributes.Add("http://axschema.org/namePerson", "John");
pendingRequest.AddResponseExtension(fetchResponse);
Имейте в виду, что это всего лишь дополнительные шаги, необходимые для расширения Attribute Exchange.