Как сделать авторизацию гугл на андроиде. Как создать аккаунт Google для своих нужд. Что такое двухэтапная аутентификация

Известно, что сотрудники компании Google, которых на гугловском производственном сленге называют «нуглерами», могут абсолютно бесплатно пользоваться всеми благами офисного пространства, в котором они пребывают: купаться в душе, бегать в столовую за завтраками, обедами и ужинами, загружать по полной стиральную и посудомоечную машины, смотреть ТВ и т.д. То есть могут запросто жить на работе, не испытывая дискомфорта и тоски по дому.

Ну а мы, уважаемый читатель, выполняя вход в аккаунт громаднейшей интернет-системы Google, уже наслаждаемся благами, которые сотворили для нас и на радость нам эти самые «нуглеры», вольготно днюя и ночуя в производственной обители.

Из этой статьи вы узнаете, как войти в Гугл аккаунт, какие настройки есть в личном кабинете сервиса Google и как пользоваться несколькими учётными записями Гугл на одном компьютере.

Авторизация

Чтобы войти в профиль Гугл, необходимо выполнить следующие действия:

1. Откройте страницу для входа.

Если вы пользуетесь браузером Google Chrome:

  • на новой вкладке, вверху справа, щёлкните значок «группа квадратов», расположенный рядом с надписью «Картинки»;
  • в выпавшем плиточном меню выберите «Мой аккаунт».

В других браузерах: необходимо набрать в адресной строке - myaccount.google.com. А затем нажать «Enter».

2. В верхнем правом углу страницы кликните кнопку «Войти».

3. Чтобы выполнить вход, наберите в появившейся панели логин (адрес почтового ящика в формате @gmail.com). Кликните «Далее».

4. Наберите пароль от профиля Гугл. Щёлкните кнопку «Войти».

Внимание! Во избежание ошибки набора убедитесь в том, что на клавиатуре включена английская раскладка и отключен регистр «Caps Lock».

Если вы не можете зайти в свою учётную запись (постоянно появляется ошибка ввода данных), . Она поможет вам решить данную проблему.

Примечание. Таким же образом вы можете пройти авторизацию не только на странице настроек аккаунта, но и во всех дополнительных сервисах Гугла (Youtube, Google Play, Диск и др.).

Настройки профиля

Рассмотрим выполнение часто встречающихся пользовательских задач в каждом из представленных разделов.

Безопасность и вход

В этой группе опций выполняется настройка доступа к учётной записи, управление паролями, а также подключаются дополнительные средства защиты от взлома.

В подразделе «Вход в аккаунт Google», в блоке «Пароль и способ входа», выполняется смена символьного ключа для входа, активируется и настраивается двухэтапная аутентификация (вход через пароль и верификация через email или телефон).

В настройках «Параметры восстановления… » указываются/изменяются резервный (дополнительный) ящик электронной почты и номер мобильного. Они необходимы для организации дополнительного уровня защиты и подтверждения прав на учётную запись.

В нижней части страницы этого раздела размещена статистика посещения аккаунта (когда, откуда и с какого устройства выполнялся вход). При помощи неё оперативно отслеживается стороннее вмешательство.

В подменю «Настройки предупреждений… » включается/отключается служба оповещений на почтовый ящик и телефон в случае возникновения критических угроз безопасности.

Данный раздел отвечает за редактирование личных данных профиля и настройку доступа к ним.

Чтобы перейти на страницу своей пользовательской анкеты, щёлкните подменю данного блока - пункт «Личная информация».

Этот раздел предназначен для организации работы с сервисами Гугле.

В подразделе «Отключение сервисов… » осуществляется выборочное удаление веб-служб системы и полная деактивация аккаунта.

В «Объём Google Диска» предоставляется возможность расширить пространство удалённого хранилища данных посредством покупки дополнительных гигабайт.

Использование нескольких профилей на одном ПК

Для управления несколькими профилями Google выполните следующее:

1. Выйдете из аккаунта, в котором находитесь в данный момент:

  • кликните левой кнопкой аватарку (вверху справа);
  • в выпавшем подменю нажмите «Выйти».

2. На новой страничке, под строкой для набора пароля, клацните ссылку «Войти в другой аккаунт».

Чтобы переключаться с одного профиля на другой, после выхода из аккаунта снова зайдите в этот раздел (Войти в другой…). И выберите в списке необходимый логин.

Если вы захотите убрать сохранённый логин из списка, кликните в этой же панели опцию «Удалить».

А затем нажмите значок «крестик» напротив профиля, от которого нужно избавиться и нажмите «Готово».

Плодотворной вам работы и приятного отдыха в сервисах Google!

То, что давно используется в платежных системах и онлайнбанкингах для управления счетами, где необходим максимальный уровень безопасности, наконец появляется и в обычных онлайнсервисах. С недавнего времени Google предоставляет возможность использовать двухступенчатый способ авторизации.

Дождались! Одно из недавних и самых заметных нововведений Google-всяких сервисов - новая двухступенчатая авторизация. По сути, она добавляет новый слой защиты для твоего аккаунта Google, требуя во время входа в систему не только знать привычные логин и пароль, но еще иметь доступ к твоему телефону. Это значит, что если кто-то украдет или подберет пароль, то обломается во время авторизации из-за отсутствия специального кода, который можно получить только с помощью твоего телефона.

Поэтому, если ты используешь Gmail в качестве своего основного почтового ящика (а именно так и делает большинство из команды «Хакера»), то мы настоятельно советуем подключить эту новую опцию.

Двухступенчатая авторизация - что это?

Пароль - это единственное, что отделяет данные в твоем почтовом ящике от злоумышленника. Каким бы сложным ни был пароль, пускай даже сгенерированный случайным образом, он легко может оказаться в чужих руках и беспроблемно быть использован для входа в систему. Двухступенчатая авторизация - тот самый подход, который делает вход в систему намного более защищенным.

В этом случае одного только пароля недостаточно. Для входа требуется два независимых элемента:

  • собственно, пароль;
  • одноразовый код, который нельзя использовать повторно.

Этот принцип давно взят на вооружение для проведения финансовых транзакций через онлайн-банкинг, где нужна максимальная безопасность. Правда, одноразовые коды (так называемые TAN’ы) выдаются в отделении банка на специальной карточке. В случае же двухступенчатой авторизации Google, код выдается пользователю через телефон. Есть три способа получить одноразовый пасс:

  • через специальное мобильное приложение Google Authenticator, которое сейчас доступно для устройств Android, iPhone и Blackberry;
  • в бесплатном SMS-сообщении, которое при запросе отправит Google;
  • через голосового робота (для пользователей с городским телефоном, где нет SMS).

Самое главное, что нужно понять: одного логина и пароля для входа в систему в случае двухступенчатой авторизации недостаточно. Для каждой авторизации будет необходим одноразовый код. И здесь надо иметь в виду, что если под рукой не окажется телефона (и, соответственно, возможности запросить код), то выполнить вход в систему будет затруднительно. Единственный выход из этого положения - набор специальных запасных ключей, который Google предлагает распечатать и положить в кошелек. Других вариантов нет!

Как включить?

Кнопка для включения двухступенчатой авторизации находится в настройках твоего аккаунта Google (google.com/accounts). В группе настроек «Personal Settings» и подразделе «Security» есть ссылка «Using 2-step verification», которая переадресует тебя на мастера по настройке двухступенчатой авторизации. Процесс начинается с выбора телефона.

Если у тебя одно из устройств, на которое можно установить программу Google Authenticator (оно доступно для iPhone, Android и Blackberry), то мастер попросит установить его на телефон.

Позже его нужно будет настроить, прописав в мобильном приложении параметры своей учетной записи Google, и ввести secret key с экрана монитора. Все настройки программа сделает автоматически, если ты сосканируешь с экрана сгенерированный мастером QR-код. Пока Google разрабатывает версии Google Authenticator для других платформ, получать одноразовые коды можно на любой телефон с помощью SMS-сообщений. Настроить такую доставку одноразовых кодов необходимо в любом случае.

Для этого на телефон придет специальный пароль, который нужно будет ввести в поле для подтверждения номера телефона. Помимо этого мастер предложит создать запасные (так называемые backup) коды на крайний случай, когда доступа к паролям не будет. Google сгенерирует что-то вроде визитки, которую можно распечатать и положить к себе в кошелек. Тут надо понимать, что даже если «шпаргалка» потеряется и попадет к кому-то в руки, он ничего не сможет с ней сделать, не зная логина и пароля для доступа к аккаунту. Никакого риска нет. Рекомендую сразу настроить все способы получения одноразовых паролей: установить и настроить мобильное приложение (если это возможно), прописать номер мобильного телефона для приема SMS и распечатать запасные коды (к моменту сдачи материала у меня возникла реальная ситуация воспользоваться ими).

Как использовать?

Итак, как теперь будет выглядеть процесс входа в систему? По сути, все то же самое, за исключением одного пункта.

  1. Ты заходишь на страницу с формой для авторизации в сервисах Google (например, Gmail).
  2. Вводишь логин и пароль, как это делал ранее.
  3. И вот здесь появляется новый этап. Google запрашивает код верификации. Открываем Google Authenticator и вводим отображающийся там код для входа в систему. Точно так же этот код можно получить по SMS или взять из распечатанной «шпаргалки»
  4. Опция «Remember verification for this computer for 30 days» позволяет вводить код авторизации один раз в 30 дней.
  5. Все, мы внутри и пользуемся сервисами Google, как и раньше.

Как видишь, процесс входа в систему практически не изменился. Внимательный читатель, возможно, заметит: «Ну, хорошо, с веб-интерфейсом все понятно, а как указывать такие пароли в почтовом клиенте, которые забирает почту по POP3/IMAP?». И будет прав.

Вскоре после включения новой схемы авторизации перестанут работать все приложения. Традиционный процесс общения с сервером в тех же самых десктопных клиентах для работы с почтой жестко зашит в код программы, а поддержки двухступенчатой схемы я пока еще нигде не видел.

Чтобы обойти это ограничение, Google предлагает особую схему авторизации для этих приложений. Для каждого такого приложения (будь это десктопный почтовый клиент, мобильное приложение на телефоне или что-либо еще) генерируется уникальный пароль приложения (это называется Application-specific passwords). То есть мы используем прежний логин, но вместо привычного пароля используем специально сформированный для этого приложения пасс.

Заходим в настройки безопасности на страницу google.com/accounts/b/0/IssuedAuthSubTokens (либо через страницу аккаунта {Security — Authorizing applications & sites). Здесь ты увидишь список веб-приложений, которые используют авторизацию через Google с помощью технологии Oauth. А ниже находится секция «Application-specific passwords». Для создания нового пасса делаем следующее:

  1. Вводим название девайса или приложения, для которого ты хочешь сгенерировать временный пароль.
  2. Нажимаем «Generate password».
  3. Google возвращает 16-значный пароль, который ты теперь можешь указать в настройках этого конкретного устройства/приложения.
  4. Приложение вновь работает.

Такую операцию, в частности, я сделал для своего почтового клиента на мобильном телефоне, которым пользуюсь постоянно. В отличие от кода верификации, который необходимо вводить во время каждой авторизации, пароли приложения можно указать в настройках программ один раз. Но в любой момент любой из них можно аннулировать (сделать revoke) с этой же самой страницы. Именно так я, кстати, сделал для пасса, который зафиксирован на скриншоте. Руки прочь от моего аккаунта! 🙂

«С 20 апреля 2017 года отправка запросов на авторизацию из встроенных браузеров будет блокироваться».
Такое сообщение с 1 марта можно увидеть в некоторых приложениях, где необходима авторизация. Об этом Google написали в своём блоге еще в августе 2016, и это значит, что скоро во многих приложениях придется переписывать реализацию регистрации. Приятного мало, однако выход есть – использовать рекомендуемый способ авторизации Google Sign-in.

Об этом способе и будет идти речь в уроке, а также как получить токены, необходимые для работы с API Google.

В уроке будет присутствовать частичный перевод официальных документаций. Но сперва немного предыстории из моей практики и первой работы с OAuth2, возможно кто-то окажется в похожей ситуации.

Понадобилось мне для приложения получить чат с прямой трансляции YouTube. И тогда я узнала, что для отправки запросов на получение трансляции (и только потом чата) необходимо провести OAuth2 аутентификацию пользователя. Я начала искать. Информации по такой теме очень мало, она разрознена, не подходила для моего случая, и конечно же всё было на английском языке. В основном информация была для работы с наиболее популярными API: Drive, Cloud, Google Plus. В официальной документации API YouTube есть готовый код, бери да пользуйся, однако для Android он не подходит. Потратив немалое количество времени, методом проб и ошибок я пришла к рабочему решению. Первое, что мне захотелось сделать после, это собрать информацию «в кучу» и разложить по полочкам, что и сподвигло на написание этого урока.

Изначально моё решение начиналось с того, что перед пользователем открывался WebView для авторизации (ввод email, пароля). Далее запрашивалось разрешение на использование данных, и только после разрешения в ответе приходил код аутентификации (AuthCode), подробнее что с ним делать будет далее. Url, который открывался в WebView был следующий:

Https://accounts.google.com/o/oauth2/auth? client_id=60*********5ad3np.apps.googleusercontent.com &redirect_uri=urn:ietf:wg:oauth:2.0:oob &access_type=offline&response_type=code &scope=https://www.googleapis.com/auth/youtube.readonly
Это ни что иное, как post запрос, в ответ на который приходила страница, содержащая authCode, причем код был в заголовке страницы. Всё, как по рекомендации к API, а действия для сокрытия этого кода от пользователя оставили на разработчика.

Перейдя по ссылке «Подробнее» попадаем в блог, где сказано, что во имя безопасности, аутентификация через WebView работать не будет с 20 апреля. Ну вот, думаю я, только сделала и придется переделывать через Sign-In. Причем первоначально я пыталась сделать реализацию именно через этот сервис. Однако с уже имеющимися знаниями «что и зачем» получилось довольно быстро. И так, начнем.

1. Получение учетных данных

В Диспетчере API создаем новый проект (или выбираем существующий):


Для авторизации понадобится файл конфигурации, который можно получить в мастере :


Заполняем поля название приложения и пакет. Далее выбираем какой сервис подключаем (Google Sign-In), здесь нужно ввести SHA1 ключ приложения, получить его просто: в Android Studio находим вкладку Gradle, раскрываем вкладки Tasks-android-signingReport. Щелкаем два раза, и в логах появится информация о ключах. Находим ключ SHA1, копируем.



Жмем кнопку «Generate configuration file», а после «Download google-services.json». Этот файл json сохраняем в папку проекта «app».

Важно! Если вы собираетесь публиковать приложение в Google Play, debug ключ SHA1 нужно будет заменить на release ключ, соответственно и заменить файл конфигурации.

Заходим в Диспетчер API, видим, что сгенерировались ключи и идентификаторы клиентов OAuth. Нам понадобятся только данные Web client (идентификатор клиента и секрет клиента).


Во вкладке «Окно запроса доступа OAuth» можно поменять email и название продукта - это то, что будет написано, когда будет запрашиваться разрешение «Приложение **** запрашивает: …»

2. Настройка Sign-In клиента

Чтобы получить доступ к Google Api Client, в файл gradle app нужно добавить в зависимости:

Compile "com.google.android.gms:play-services-auth:10.2.0"
И плагин (в конец файла):

Apply plugin: "com.google.gms.google-services"
В файл gradle project в зависимости:

Classpath "com.google.gms:google-services:3.0.0"
Настраиваем опции:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestServerAuthCode(getString(R.string.server_client_id)) .requestEmail() .requestScopes(new Scope("https://www.googleapis.com/auth/youtube.readonly")) .build();
Здесь наибольший интерес вызывают строки:

RequestServerAuthCode(getString(R.string.server_client_id)) – запрашиваем authCode, передавая параметр идентификатор клиента (весь полностью), который получили выше.

RequestScopes(new Scope("***")) – запрашиваем необходимую для используемого API область/области доступа. Есть некоторые уже определенные области в Scopes, но, если нужной там не нашлось, можно задать свою, как в моём случае. Для пользователя будет отображаться как доступ «к чему» хочет получить приложение.

Настраиваем клиент:

GoogleApiClient mApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, this) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build();
Тут всё по стандарту из документации:

EnableAutoManage(this, this) – в параметры передается активити и слушатель соединения (реализуем интерфейс GoogleApiClient.OnConnectionFailedListener).

AddApi(Auth.GOOGLE_SIGN_IN_API, gso) – указываем, что используем Sign In api и ранее созданный объект опций.


Выглядит она так:

В активити кнопка определяется как и все другие view, на нее повешаем слушатель и по клику выполним метод:

@Override public void onClick(View view) { switch (view.getId()) { case R.id.activity_button_sign_in: signIn(); break; } }
Код вызываемого метода представляет собой создание интента и вызов активити для авторизации:

Public void signIn() { Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mApiClient); startActivityForResult(signInIntent, RC_AUTH_CODE); }
В параметр передаем сконфигурированный mApiClient. RC_AUTH_CODE любое число, как и всегда, для отслеживания результата активити.

При нажатии на копку, будет предложено выбрать аккаунт для входа, либо добавить новый. После выбора, приложение запросит разрешение:


3. Получение Auth code

После того, как пользователь даст разрешение, в onActivityResult получаем данные его аккаунта:

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == RC_AUTH_CODE) { GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); if (result.isSuccess()) { GoogleSignInAccount acct = result.getSignInAccount(); String authCode = acct.getServerAuthCode(); getAccessToken(authCode); } } }
В результате получаем auth code как обычную строку, выглядит он примерно так:

4/iHhVmqtxccXh0Qs*********oo5XG8OjaNsWu_kEKyw
Так же из аккаунта можно получить email пользователя, username и аватарку:

Acct.getEmail()
acct.getDisplayName()
acct.getPhotoUrl()

Эти данные могут понадобиться, например, чтобы вставить их в header NavigationView.

4. Получение Access Token и Refresh Token

Получили auth code, теперь его нужно поменять на необходимые для запросов к API токены. Для этого формируем запрос по адресу https://www.googleapis.com/oauth2/v4/token. Например я сделаю это с помощью OkHttp.

Public void getAccessToken(String authCode) { OkHttpClient client = new OkHttpClient(); RequestBody requestBody = new FormEncodingBuilder() .add("grant_type", "authorization_code") .add("client_id", getString(R.string.server_client_id)) .add("client_secret", getString(R.string.client_secret)) .add("code", authCode) .build(); final Request request = new Request.Builder() .url("https://www.googleapis.com/oauth2/v4/token") .header("Content-Type", "application/x-www-form-urlencoded") .post(requestBody) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) {} @Override public void onResponse(Response response) throws IOException { try { JSONObject jsonObject = new JSONObject(response.body().string()); mAccessToken = jsonObject.get("access_token").toString(); mTokenType = jsonObject.get("token_type").toString(); mRefreshToken = jsonObject.get("refresh_token").toString(); } catch (JSONException e) { e.printStackTrace(); } } }); }
Рассмотрим подробнее параметры. В Request.Builder() Передаем url по которому получаем токены:

Url("https://www.googleapis.com/oauth2/v4/token")
В header указываем Content-Type:

Header("Content-Type", "application/x-www-form-urlencoded")
Указываем, что это метод POST, в него передаем body:

Post(requestBody)
Сформированный requestBody обязательно должен содержать параметры:

"grant_type", "authorization_code" – указываем, что передавать будем auth code
"client_id", getString(R.string.server_client_id) – параметр является client id, полученный в Диспетчере API
"client_secret", getString(R.string.client_secret) - секрет клиента, полученный в Диспетчере API
"code", authCode – собственно полученный код.

Запрос асинхронный, в ответе получаем обычный json со всеми нужными для работы данными:

{ "access_token":"ya29.GlsfBJNMTfGy…", "token_type":"Bearer", "expires_in":3600, "refresh_token":"1\/72OqA7zYuyY__XhGij5oA2nEb7…", "id_token":"eyJhbGciOiJSUzI1NiIsImtpZ…" }
"access_token" – токен доступа, ради которого всё проводилось
"expires_in" – время жизни access токена, по умолчанию токен живет 1 час, а в сутки можно получать по запросу 25 токенов, не более.
"token_type" – тип токена, его тоже необходимо запомнить, он также вставляется в запрос к api в дальнейшем.
"refresh_token" – токен для обновления access токена, когда пройдет час жизни. Refresh токен неизменен. Часто на форумах видела проблему, с которой сталкивалась и сама: в запросе не приходил этот токен. Ошибки заключаются в неправильном получении учетных данных, либо неправильные запросы. Если авторизация проводилась через WebView, и в url не указывался такой важный параметр как access_type=offline, то refresh токен попросту не приходил.

5. Обновление Access токена

Час прошел, access токен больше не активен, необходим новый. После этого посыпятся ошибки 401 или 403, сервер скажет, что пользователь не авторизован или не имеет доступа. Запрашивать новое разрешение не годится, если нам нужна непрерывная сессия, например как у меня, нужно непрерывно получать сообщения из чата в течении трансляции, а это несколько часов. Что делать? Посылать запрос на получение нового токена.

Запрос в основном такой же как в пункте 4, за исключением некоторых параметров:

Private void getNewAccessToken() { OkHttpClient client = new OkHttpClient(); RequestBody requestBody = new FormEncodingBuilder() .add("refresh_token", mRefreshToken) .add("client_id", getString(R.string.server_client_id)) .add("client_secret", getString(R.string.client_secret)) .add("grant_type", "refresh_token") .build(); final Request request = new Request.Builder() .url("https://www.googleapis.com/oauth2/v4/token") .header("Content-Type", "application/x-www-form-urlencoded") .post(requestBody) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) {} @Override public void onResponse(Response response) throws IOException { try { JSONObject jsonObject = new JSONObject(response.body().string()); mAccessToken = jsonObject.get("access_token").toString(); } catch (JSONException e) { e.printStackTrace(); } } }); }
Здесь важные параметры:

"grant_type", "refresh_token" – в типе указываем что посылаем refresh токен
"refresh_token", mRefreshToken – и сам токен

Ответом будет json, содержащий новый access токен, с которым снова можно обращаться к API:

{ "access_token":"ya29.GlsfBM7Y...", "token_type":"Bearer", "expires_in":3600, "id_token":"eyJhbGciOiJ..." }
На этом авторизация и аутентификация пользователя завершена.

Для примера покажу как выглядит запрос к API, а также как я выполняю обновление токена.
Для запроса к API я использую Retrofit2 + RxAndroid. Так выглядит запрос на получение чата прямой трансляции:

@GET(GoogleApiUrls.Youtube.CHAT) Observable getChat(@Header("Authorization") String token, @Query("liveChatId") String liveChatId, @Query("part") String part);
Здесь важно заметить, что в header по ключу Authorization должны передаваться тип токена и сам access токен. То есть так:

Authorization Bearer ya29.GlsfBJNMTfGy…
Далее делаю запрос через RxAndroid, и так как в коллбэк onError приходят всевозможные ошибки, то туда же приходит ошибка HttpException с кодом 401 Unauthorized по истечении часа. Здесь же я обрабатываю её, проверяю, если это та самая ошибка, то привожу к соответствующему типу, проверяю действительно ли это код 401 и выполняю метод получения нового токена, затем повторяю запрос.

@Override public void onError(Throwable e) { if (e instanceof HttpException) { HttpException exception = (HttpException) e; if (exception.code() == 401) { getNewAccessToken(); } } }
Так же для проверки токена существует GET запрос:

Https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=ya29.GlsfBJNMTfGy…
В ответ придут данные о токене, если он еще активен, либо ошибка, если его время жизни истекло.

Опять же, реализацию обновления токена Google оставляет на разработчика.

Рекомендую перед началом работы проверять запросы в стороннем приложении/расширении, например Postman, чтобы убедиться в правильности ввода параметров и полученных ответах. Я буду очень рада, если кому-то урок окажется полезным!

Здравствуйте, уважаемые читатели блога сайт! Создание аккаунта Google дает возможность пользоваться всеми многочисленными фишками этого поискового гиганта в полном объеме. Это очень удобно для обычных юзеров, многие из которых применяют для своих нужд, например, почтовый сервер от этого поискового гиганта. Я уже не говорю о вебмастерах или интернет-предпринимателях, для которых наличие учетной записи в Гугле жизненно необходимо.

Система аккаунтов в Гугле построена таким образом, что единожды зарегистрировавшись, вы получаете доступ сразу ко всем сервисам, попутно приобретая почтовый ящик на GMail, которым пользуюсь я сам и который считаю наиболее оптимальным и надежным во всех смыслах. Причем, Google никак не регламентирует количество аккаунтов, которые вы можете создать.

То есть, если вы имеете один account, то в любое время можете добавить к нему еще несколько, каждый раз регистрируя новую почту. Кстати, точно такой же механизм действует и при регистрации в Яндексе. Ниже мы разберем все необходимые детали получения гугловского профиля подробно, чтобы не осталось по возможности темных пятен.

Как создать аккаунт Google для своих нужд

Итак, начинаем операцию, чтобы получить аккаунт в Гугле. Регистрация осуществляется на специальной странице , где необходимо заполнить предоставленную там форму, в первой части которой необходимо вписать свое имя, фамилию и логин в составе электронной почты:

Естественно, ваш почтовый ящик будет располагаться на сервере Гмайл, этот сервис входит в состав гугловских приложений. Однако, безусловно, всегда должна быть альтернатива, поскольку пользователи не поймут отсутствие выбора. В данном случае, если вы не желаете создавать свою почту на GMail, то нужно нажать на ссылку «Использовать текущий адрес эл. почты». Тогда форма примет несколько другой вид и вы сможете ввести свой email, который и будет в дальнейшем служить логином при авторизации:

Надо иметь ввиду, что в этом случае при регистрации вам придется подтвердить адрес такого эмейла. На указанный ящик придет письмо, где будет содержаться ссылка, по которой вы должны перейти для подтверждения. Но, повторюсь, такие дополнительные телодвижения необходимо совершать только в том случае, если не пожелаете регистрировать почту на GMail.

Однако, на мой взгляд, создаваемая учетная запись Гугл предполагает наличие почтового аккаунта ГМайл хотя бы потому, что это гораздо удобнее при пользовании разнообразными приложениями и сервисами Google. К тому же, интерфейс и настройки здесь постоянно модернизируются и, что самое важное, гугловский почтовый сервис весьма надежен в плане безопасности, о чем я еще расскажу подробнее.

Так что, если, переключившись на ввод текущего email, вы вдруг передумаете и решите все-таки использовать почту от Гугла, ничто не мешает просто нажать на ссылку «Создать новый адрес GMail». Идем дальше и в следующем блоке регистрационной формы вводим дважды пароль, а также дату своего рождения и пол:

Отмечу, что дата рождения не будет общедоступной без вашего на то согласия. Особо нужно отметить необходимость максимально усложнить пассворд, поскольку это напрямую касается безопасности будущего аккаунта. Со своей стороны осмелюсь посоветовать в этой связи Кипас, которым я успешно пользуюсь на протяжении уже довольно продолжительного времени. Но продолжим заполнять форму регистрации Гугл:

Сначала нужно вписать номер мобильного телефона и, желательно, дополнительный эмейл. Эта информация не будет лишней в плане повышения уровня безопасности. Например, если забудете пароль либо каким-то образом он будет утерян, то посредством SMS получите данные, необходимые для восстановления доступа к своей учетной записи Google. Запасной адрес электронной почты также вносит свою лепту в дело повышения уровня защищенности аккаунта и может служить в том числе для получения уведомлений.

Дальше вводим капчу в соответствующую строчку «Введите текст» и переходим к заключительной части формы регистрации, где надо выбрать страну (автоматически будет указана та, на территории которой вы проживаете), а также отметить галочкой ваше согласие с условиями использования сервисов Гугла и политикой конфиденциальности:


Однако, это предложение на данном этапе можно с легкостью проигнорировать и закачать фото позднее. Это можно сделать в любое время, воспользовавшись соответствующими опциями своего профиля. Поэтому можно сразу же щелкнуть по кнопке «Дальше». Результатом этого действа будет осознание того, что вам удалось создать учетную запись Google:


После нажатия «Вперед» вы окажетесь на вебстранице, откуда можно осуществить доступ ко всем приложениям, сервисам, настройкам и другим необходимым службам:


Возможно, для какого-то будет проще усвоить информацию по видео. Поэтому предоставляю видеоролик на тему создания аккаунта в Google:

Ну и учитывая уровень современных технологий не лишним, думаю, будет видеоматериал, рассказывающий о создании учетной записи в Гугл для мобильных устройств на базе Android:

Вход в Гугл аккаунт и основные настройки

Итак, на приведенном выше примере мы определили, как зарегистрировать аккаунт Гугл. Войти в свою УЗ можно тут же, кликнув по силуэту в правом верхнем углу и затем нажав на соответствующую ссылку (в дальнейшем вход можно осуществлять со страницы авторизации):

Как известно, Google позволяет создавать сколько угодно профилей, соответствующих различным почтовым ящикам GMail. Если вы получаете несколько УЗ, то есть возможность осуществлять множественный вход, авторизовавшись в них одновременно и переключаясь между разными аккаунтами, что очень удобно при работе:

После входа в учетную запись можно перейти к настройкам, определив тем самым ваши предпочтения. Кстати, мне очень нравится интерфейс как в плане простоты восприятия, так и в плане широты возможностей, которые предоставляются. Поэтому я, пожалуй, не буду подробно описывать все возможные опции, здесь все интуитивно понятно, расскажу в общих чертах и остановлюсь лишь более детально на тех моментах, которые мне кажутся наиболее важными.

В разделе «Личные данные» первым делом можно добавить фото, если вы не сделали это в процессе регистрации:


Все возможное редактирование в левой части этого раздела связано так или иначе с настройками опций автоматически созданного для вас профиля в , которая набирает бешеную популярность, что немудрено, если учесть, под чьим могущественным крылом она находится. Но подробнее об этом мы поговорим в отдельной статье, поскольку там есть немало нюансов.

В правой части основные данные , которые были указаны в процессе регистрирования (адрес э-почты и номер телефона). Для изменения этой информации нужно просто нажать кнопку «Изменить» и на вновь открывшейся странице отредактировать то, что вам нужно.

Во вкладке «Язык» выбираете основной язык интерфейса, а также языки, которые следует исключить из перевода при работе с текстом. Здесь же можно определить способ клавиатурного ввода. Жмете соответствующие кнопки и тут же получаете результат, ничего сложного.

Как обеспечить максимальную безопасность Google account

Думаю, все согласятся со мной, если скажу, что самым важным аспектом любых закрытых систем является их надежная защита от посягательств извне. Поэтому сейчас поподробнее расскажу о мерах, которые можно предпринять для повышения безопасности вашего аккаунта и сохранения конфиденциальных данных.

Прежде всего, переходим в раздел «Безопасность» настроек вашей учетной записи. В первом блоке одна из опций позволяет в любое время поменять пароль входа в account. Для этого нужно просто нажать кнопку «Изменить пароль»:


Серьезным шагом в направлении усиления защищенности является подключение двухэтапной аутентификации, которая по умолчанию отключена. Нажимаем «Настройка» и переходим на вебстраницу начала активации данной опции, где в картинках представлены ее преимущества:


Как вы, наверное, поняли, вкратце суть данного метода заключается в том, что при входе в account Гугла кроме собственно пароля вам придется вводить еще и код, который будет высылаться на ваш мобильный телефон. Итак, щелкаете по кнопке «Приступить к настройке» и в качестве первого шага указываете номер своего сотового телефона:


Также можно выбрать способ получения кода (голосовой либо посредством SMS). Затем просите отправить код подтверждения. Получив, вводите его в соответствующую строку:


Следом делаете запрос «Подтвердить». На третьем шаге вам будет предложено считать данный компьютер надежным. Это нужно для того, чтобы при последующих входах в аккаунт с этого компьютера Google не присылал больше каждый раз код подтверждения:


Последний шаг посвящен окончательной активации защиты в виде двухэтапной аутентификации:


После этого действа откроется страница, где будут даны дальнейшие предложения по оптимизации системы безопасности. Я советую их внимательно изучить, поскольку данные настройки не только позволяют усилить уровень защиты, но и дают возможность всегда иметь запасной вариант при возникновении непредвиденных сложностей.

Посмотрим, что еще можно предпринять для получения оптимальной защищенности и предотвращения возникновения нежелательных ситуаций:

  • Создавать коды в приложении - при попытке входа в аккаунт Гугла с другого компьютера, телефона или планшета будет запрашиваться код подтверждения, который можно получить с помощью программы Google Authenticator. Если возникнут какие-то сложности, то все равно существует альтернатива заказать код путем СМС-ки или голосового сообщения. Данное приложение можно загрузить с официальной страницы Google Play ;
  • Добавить номер телефона - если основной телефон будет недоступен по каким-то причинам (поломка, кража и т.д), то можно будет воспользоваться запасным вариантом в виде другого мобильника, на который будет выслан код. Чем больше дополнительных номеров будет вами добавлено, тем больше вы себя застрахуете от форс-мажора. Для каждого телефонного номера будет проведена операция подтверждения наподобие описанной выше в рамках двухэтапной аутентификации;
  • Распечатать или загрузить резервные коды - эта опция предназначена для тех, кто долгое время находится в отъезде и не может в какой-то момент использовать приложение Google Authenticator или телефон. Для начала даны 10 кодов, использованные коды далее применять нельзя, в дальнейшем предусмотрена возможность генерировать дополнительные кодовые номера. Все это есть на странице, на которую вы попадете, если перейдете по ссылке «Показать резервные коды».

В том же разделе «Безопасность» есть блок настроек «Доступ к аккаунту» . Если нажать на линк «Весь список», то попадете на страницу, где будет дан перечень всех вебресурсов и приложений, которые так или иначе имеют доступ к учетной записи:


Если у вас существуют нехорошие подозрения на их счет, то можно легко и просто закрыть им возможность использования данных вашей УЗ, выбрав в левой части объект и нажав справа на кнопку «Запретить доступ».

Далее. Если в разделе «Недавние действия» перейти по ссылке «Весь список», то получите всю необходимую информацию о всех действиях, связанных с безопасностью account (попытки входа или замены пароля). Если какое-то действие покажется подозрительным, например, вход с браузера, которым вы никогда не пользовались либо время, когда вы никак не могли совершить подобную операцию, можно сделать соответствующие выводы и предпринять необходимые шаги по исправлению ситуации. Скажем, в таком случае желательно сразу поменять пароль.

Еще в одном подразделе «Восстановление и оповещения» можно настроить получение сообщений о подозрительной активности. Жмем на ссылку «Изменить» напротив надписи «Отправлять напоминания на телефон»:


Проставляем галочки напротив типов оповещения, в результате чего вам будут приходить СМС-ки от Гугла на мобильник, если будут обнаружены подозрительные действия со стороны третьих лиц в отношении вашей УЗ.

Как управлять данными, удалить и восстановить свой аккаунт в Google

Вкладка «Управление данными» позволяет осуществить самые разнообразные настройки, которые нужны именно вам. Например, подраздел «Пространство для хранения» дает исчерпывающую информацию об объеме хранящихся файлов (на Google Disc, на GMail и на Гугл+ Фото).

Бесплатный тариф дает возможность использовать до 15 ГБ дискового пространства. Согласитесь, для обычного пользователя это немало. Ну, а если вы желаете с определенной целью добавить свободного места, придется перейти на платный опцион, перейдя по ссылке «Сменить тариф».


В этой же вкладке есть такая интересная опция как «Google на всякий случай». Фактически это завещание в самом прямом смысле этого понятия. Ведь произойти в нашей жизни может всякое, поэтому можно составить список лиц, которым перейдет все ваше “имущество” в виде фото, файлов и других данных в случае, если account будет неактивным в течении определенного промежутка времени, который следует задать в настройках.

Итак, для начала настраиваем срок бездействия, затем добавляем доверенных лиц, которые получат по вашему завещанию все данные учетной записи. Нажимаете на соответствующий линк и выполняете все действия по инструкции, которая весьма понятна для восприятия.

Отмечу, что есть возможность настроить автоответчик для данной почты GMail, который будет отсылать заданное сообщение всем адресатам, кто будет писать вам после истечения срока бездействия. Если после заданного срока УЗ должна быть ликвидирована, левой кнопкой мышки нажимаете пустую ячейку напротив опции «Удалить аккаунт», после чего нажимаете «Включить».

В одноименном подразделе вкладки «Управление данными» есть ссылка «Удалить аккаунт и данные». Перейдя по ней, внимательно ознакомьтесь с предупреждением, поскольку удаление учетной записи - ответственное решение.


Итак, мы рассмотрели, как удалить аккаунт Гугл, теперь самое время понять, какие действия необходимо предпринять по его восстановлению. Об этой возможности я упоминал выше по тексту в ходе описания регистрации. Это может понадобиться, если вдруг возникнет неприятная ситуация, связанная с утерей пароля либо, паче чаяния, с захватом аккаунта и потерей доступа к нему.

Google радеет за безопасность и сохранность данных своих пользователей, посему восстановить account получится только тогда, когда он на сто процентов будет уверен, что владельцем являетесь именно вы. Вот поэтому при регистрации мы указываем параметры восстановления, коими в этом случае являются дополнительный e-mail и номер телефона.

Восстановить доступ к аккаунту в Гугл можно . Если с чем-то вы не сможете разобраться, то ответы на возникшие вопросы и варианты действий в той или иной сложившейся ситуации получите на этой и этой страницах помощи.

Все приложения и сервисы Google

Гугл имеет целую кучу самых разнообразных сервисов и служб, как говорится, на все случаи жизни. Практически каждый пользователь найдет в этом списке необходимое приложение для решения той или иной задачи. Поэтому, рассказывая о создании учетной записи, я никак не могу обойти стороной сей аспект. Подозреваю, что на данный момент, наиболее полный перечень сервисов располагается на одной из страниц Википедии .

Теперь перейдем в свою учетную запись и нажмем значок, с помощью которого произойдет вызов имеющегося по умолчанию набора иконок, каждая из которых обозначает определенную гугловскую службу или приложение:

Кликнув по выбранной иконке, вы попадете на страницу обозначенного этой картинкой сервиса. Если щелкнуть по ссылке «Еще», то получите дополнительно парочку иконок:

Здесь же появится новый линк «Другие предложения от Google», кликнув по которому можно переместиться на новую вебстраницу, где присутствует расширенный список, который, однако, тоже далеко не полный (более объемный получите, если посетите страницу Википедии по выше предоставленной ссылке):


Чтобы для удобства добавить то или иное приложение в первоначальный реестр, который появляется при нажатии на иконку в учетной записи, нужно перейти на страницу этого сервиса, предварительно войдя в свой аккаунт:

Теперь в вашей УЗ следует кликнуть по надписи «Добавить ярлык», вследствие чего иконка этого сервиса Google будет присутствовать в коллекции вместе с другими картинками.

Недавно мне захотелось создать личный проект на андроиде, и основной вопрос был такой: как однозначно идентифицировать пользователя заставляя его делать как можно меньше телодвижений? Конечно же это аккаунт Google. Я пытался пробовать множество примеров в сети - однако API несколько раз обновилось за время своего существования, многие методы не работали, мои вопросы в Google+ по этому поводу либо были вообще никак не восприняты окружением, либо были вроде «Никогда такое не делал».
В этой статье я постараюсь как можно более просто для новичков (вроде меня) описать мой метод авторизации в Google на андроид, получения токена и проверке этого самого токена на сервере.

Небольшая подготовка

Для начала - у вас должны быть установлены Google Play Services в SDK. После их установки можно будет импортировать все необходимые библиотеки. Статья пишется с расчетом на Android Studio - он сам подсказывает, что необходимо импортировать.
У вас должно быть создано активити с кнопкой.
Чтобы было привычнее пользователю можете создать стандартную кнопку Google+ Sing-In
Выглядеть она будет вот так:

Просто добавьте в ваш Layout:

Добавляем действие на кнопку

Пишем в нашем активити:
View btn = (View) findViewById(R.id.sign_in_button); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = AccountPicker.newChooseAccountIntent(null, null, new String{"com.google"}, false, null, null, null, null); startActivityForResult(intent, 123); } });
Собственно присвоим кнопке действие - вызов интенда выбора аккаунта. Если вы работаете в Android Studio он сам вам подскажет, какие библиотеки нужно импортировать, так что это подробно тут я расписывать не буду.
startActivityForResult(intent, 123); - задает код с которым произойдет возврат. 123 это код возврата, он может быть каким угодно. Это необходимо, когда вы делаете несколько интендов, и вам надо обработать их по разному.

Необходимые области доступа

Обьявите эти переменные в классе. Это необходимые нам области доступа. Первый написано в google: «Позволяет определить аутентифицированного пользователя. Для этого при вызове API необходимо указать me вместо идентификатора пользователя Google+. » Второе разрешение нам необходимо для получения личных данных пользователя (Имя, Фамилия, адрес G+ страницы, аватар), и последнее для получения E-mail. Я посчитал это важным, ведь это вполне неизменный идентификатор для записи в бд.
private final static String G_PLUS_SCOPE = "oauth2:https://www.googleapis.com/auth/plus.me"; private final static String USERINFO_SCOPE = "https://www.googleapis.com/auth/userinfo.profile"; private final static String EMAIL_SCOPE = "https://www.googleapis.com/auth/userinfo.email"; private final static String SCOPES = G_PLUS_SCOPE + " " + USERINFO_SCOPE + " " + EMAIL_SCOPE;

Регистрация нашего приложения.

Изначально забыл этот пункт - исправляюсь.
Нам необходимо зайти на code.google.com/apis/console создать там проект, зайти в Credentials и создать новый Client ID для OAuth выбрав пункт Installed Application -> Android. Там нам необходимо ввести название нашего пакета и SHA1 сумму нашего ключа.
С этим у меня на самом деле было много проблем решил достаточно костыльным способом.
Нашел debug.keystore в %USERPROFILE%\.android\debug.keystore поместил в папку с проектом и прописал в build.grandle:

SigningConfigs { debug { storeFile file("debug.keystore") } myConfig { storeFile file("debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } }
После чего нам нужно выполнить команду:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -v -list
Сам keytool можно найти в SDK. Из вывода копируем SHA1 в нужное поле.
Как я понимаю метод временный, и для нормальной работы надо создать нормальный ключ. Но для тестирования этого достаточно.

Код получения токена

protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { if (requestCode == 123 && resultCode == RESULT_OK) { final String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME); AsyncTask getToken = new AsyncTask() { @Override protected String doInBackground(Void... params) { try { String token = GoogleAuthUtil.getToken(AcrivityName.this, accountName, SCOPES); return token; } catch (UserRecoverableAuthException userAuthEx) { startActivityForResult(userAuthEx.getIntent(), 123); } catch (IOException ioEx) { Log.d(TAG, "IOException"); } catch (GoogleAuthException fatalAuthEx) { Log.d(TAG, "Fatal Authorization Exception" + fatalAuthEx.getLocalizedMessage()); } return token; } @Override protected void onPostExecute(String token) { reg(token); } }; getToken.execute(null, null, null); } }
Где 123 - ваш код, который вы указали ранее, где AcrivityName - название вашего актитивити. Грубо говоря - мы скармливаем функции получения токена необходимые разрешения и имя аккаунта. И заметьте - это все происходит в фоновом режиме, после чего полученный токен передается в написанную мною функцию reg. Она уже отправляет токен и все необходимые данные на сервер.
Так как разрабатываю недавно, с исключениями пока что беда, если есть предложение - напишите в личку или в комментарии.

Проверяем токен на сервере. (PHP)

Хочу обратить внимание, полученный нами токен имеет тип Online. И действует он лишь 10 минут. Для получения offline токена (чтобы дольше работать с ним с сервера) обратитесь к этой инструкции