Смысл OpenID в том, что вы говорите: делегировать аутентификацию другому, чтобы вам не приходилось иметь дело с паролем (если он вообще есть).
Сайты, в которых пользователь входит в Google, а затем получает доступ к данным этого пользователя в Google, используют не только OpenID. Они также используют другой протокол авторизация . Google поддерживает проприетарный и более общий стандартный, называемый OAuth. OpenID и OAuth можно объединить таким образом, чтобы пользователь заходил в Google всего один раз, чтобы войти в систему, и тогда ваш сайт получит необходимый ему доступ (если пользователь одобрит).
Если вы посмотрите на пример DotNetOpenAuth OpenIdRelyingPartyWebForms \ loginPlusOAuth.aspx, вы увидите пример входа пользователя в Google, благодаря которому сайт сможет загрузить адресную книгу пользователя Google. Это можно легко изменить, чтобы включить разрешения на другие действия (например, чтение заголовков электронной почты), но вам необходимо прочитать документацию Google ( GData ), чтобы узнать, какую область применения использовать, и API-интерфейсы для вызова, чтобы получить эту информацию. .
Ни при каких обстоятельствах вы не должны самостоятельно собирать пароль пользователя Google. Я подозреваю, что в любом случае это будет нарушением условий обслуживания Google.