Как сказал Мартин, это зависит от Поставщика.
Я думаю, что MyOpenID не выполняет AttributeExchange. Однако они выполняют sreg (простую регистрацию), поэтому добавьте расширение ClaimsRequest
к вашему запросу, и вы получите ClaimsResponse
назад от некоторых провайдеров.
Google выполняет только AttributeExchange и предоставляет только адрес электронной почты. Единственное, что вам не хватает в вашем коде, - это то, что Google также даже не публикует адрес электронной почты, если вы не отметите его как «Обязательный» в своем запросе. Добавьте «истинный» второй параметр в конструктор AttributeRequest, и тогда Google должен загореться и дать вам адрес электронной почты пользователя.
Вот некоторые документы и примеры получения атрибутов .