Ответ 1
Если вы предоставили ссылку на http://en.gravatar.com/emails/, она доставит их на сайт Gravatar, где они смогут входить в систему и вносить изменения в свои Счет. Я не уверен, что любой другой публичный API, который позволит это изменение.
Как добавить ссылку, которая позволит пользователю изменить свой Gravatar на моем сайте? (Точно так же вы можете изменить свой Gravatar на Wordpress)
Спасибо, Kenneth
Если вы предоставили ссылку на http://en.gravatar.com/emails/, она доставит их на сайт Gravatar, где они смогут входить в систему и вносить изменения в свои Счет. Я не уверен, что любой другой публичный API, который позволит это изменение.
Глядя на источник html на wordpress.com, похоже, что они используют что-то вроде ThickBox для загрузки сайта Gravatar в iframe:
<a href="https://secure.gravatar.com/accounts/force-by-email/wpcom/username/somecode?TB_iframe=true&height=475&width=960" id="gravatar_ui" class="thickbox" title="gravatar.com" onclick="return false;">
<img src="https://secure.gravatar.com/avatar/gravatarid?s=128&r=any&time=43179786" class="no-grav">
<p style="text-align: center;">Change your Gravatar</p>
</a>
Automattic Gravatar API не предлагает эту функциональность. Лучше всего связать пользователя с веб-сайтом Gravatar.
Если вы действительно хотели, чтобы вы могли экспериментировать с CSRF, я не тестировал, защищает ли сайт Gravatar от этой эксплуатации. Лучший сценарий, он был бы пятнистым - я не могу себе представить, чтобы кто-нибудь оставался вошедшим в аккаунт Gravatar во все времена, как если бы они были в своем аккаунте в Twitter.
Наконец, вы можете загрузить сайт Gravatar в iFrame, поэтому пользователь действительно не покидает ваш домен.
Должна быть реализована возможность редактирования аватара с помощью XML-RPC. Протокол указан Gravatar: http://en.gravatar.com/site/implement/xmlrpc/
На самом деле есть вызов
grav.saveData
- сохранить данные двоичного изображения как пользовательское изображение для этой учетной записиgrav.saveUrl
- Прочитайте изображение по его URL-адресу и сохраните его как пользовательское изображение для этой учетной записи.Таким образом, вам нужно реализовать изменение самостоятельно, но вы можете избежать того, чтобы люди приходили на вход в gravatar.
Gravatar не разрешает эту функциональность. Единственная причина, по которой WordPress.com может это сделать, - это то, что они оба являются сервисами от Automattic, и оба они используют учетные записи WordPress.com, поэтому они получили некоторые дополнительные строки. Лучше всего было бы связать сайт Gravatar или загрузить его в iframe. Если вы загрузили его в iframe, он попросит их войти в свою учетную запись WordPress.com, если они не использовали WordPress.com часто, и их браузер остался включенным в эту учетную запись.