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

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

12.03.2019
8 июля 2014 в 00:53

Авторизация через Google в Android и проверка токена на сервере

  • Разработка под Android
  • Recovery Mode

Недавно мне захотелось создать личный проект на андроиде, и основной вопрос был такой: как однозначно идентифицировать пользователя заставляя его делать как можно меньше телодвижений? Конечно же это аккаунт 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 токена (чтобы дольше работать с ним с сервера) обратитесь к этой инструкции

Эти статьи предназначены для администраторов. Корпоративные пользователи могут ознакомиться со статьей Как включить двухэтапную аутентификацию .

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

Что такое двухэтапная аутентификация?

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

Нужна ли двухэтапная аутентификация компаниям небольшого размера?

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

Способы двухэтапной аутентификации

Электронные ключи

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

Чтобы использовать электронный ключ на мобильном устройстве Android, оно должно быть оснащено NFC-модулем. Также для устройств Android есть USB-ключи и ключи, поддерживающие технологию Bluetooth® с низким энергопотреблением (BLE). Пользователям мобильных устройств Apple® требуется электронный ключ с поддержкой Bluetooth.

Уведомление от Google

Пользователь может настроить мобильное устройство Android или Apple на получение уведомления от Google. В этом случае при попытке войти в аккаунт Google на компьютере он увидит уведомление "Пытаетесь войти в аккаунт?" на своем мобильном устройстве. Для подтверждения достаточно нажать на уведомление.

Google Authenticator

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

Резервные коды

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

SMS или телефонный звонок

Google отправляет код для двухэтапной аутентификации на мобильное устройство при помощи SMS или телефонного звонка.

Способы принудительного применения двухэтапной аутентификации

Двухэтапную аутентификацию можно сделать необязательной и обязательной.

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

Сделайте двухэтапную аутентификацию обязательной для администраторов и важных пользователей

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

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

Ваш аккаунт хранит ваши приложения, музыку, e-mail, книги, документы, кредитные карты и прочий стаф. Настало время защитить его чем-то больше, нежели привычным всем паролем. Если вы следите за новостями мира технологий, то должны быть в курсе о ситуации с Метом Хонаном, который подвергся атаке хакеров, приведшей к уничтожению его iCloud , Twitter и Google аккаунтов и блокированию нескольких устройств. В случае с Хонаном атака была возможна благодаря скомпрометированным личным данным (находящимся в открытом доступе) и ошибкам со стороны служб поддержки Amazon и Apple , а не контактом с вредоносным ПО. Основной причиной того, что хакеры атаковали не только аккаунты и устройства, но и и Google стаф, был тот факт, что Хонан не пользовался двухступенчатой авторизацией. Истории, подобные этой, всегда наталкивают на мысли о мерах предосторожности, и наиболее эффективным в этой ситуации будет использование двухступенчатой авторизации . Внутри видео презентация и подробное описание включения и настройки двухступенчатой авторизации на вашем Google аккаунте!

Что такое двухступенчатая авторизация?

Двухступенчатая авторизация дает дополнительный уровень защиты, запрашивая у вас шестизначный код, сгенерированный Google и отправленный на ваш телефон в момент входа в аккаунт. Это означает, что если ваш пароль взломали, то аккаунт остается нетронутым. Для дальнейшего проникновения необходим будет ваш мобильный. Мы можете получать шестизначный код через СМС или, если вы пользователь Android , BlackBerry , iPhone , из приложения Google Authenticator , которое вы можете использовать для моментального генерирования кода. Эти приложения работают, получая доступ к вашему Google аккаунту и сканируя секретный баркод.

А как быть с Android девайсами и приложениями?

Иногда приложение или девайс, использующие ваш Google аккаунт, не запрашивают код, или это непрактично/нежелательно. Рассмотрим пример с Android устройствами. Вход с таких устройств с включенной двухступенчатой авторизацией приводит к использованию пароля для конкретного приложения. Такой пароль дает возможность доступа устройству или приложению к вашим Google аккаунтам. Получит его можете здесь: accounts.google.com > "Security" > "Authorizing applications and sites". Это займет немного времени и сил, но иначе никак. Например, вы являетесь обладателем смартфона Galaxy Nexus и планшета Nexus 7 . Для каждого из устройств вы создаете по такому паролю и единоразово вводите в настройках каждого из устройств. Если же вам надо прекратить доступ к Google аккаунтам по какой-либо причине, то вы просто нажимаете "revoke" рядом с названием устройства. А так как пароль этот шестнадцатизначный и может быть использован только для одного устройства или приложения, то это действительно весьма безопасно.

Непредвиденные обстоятельства

Также вы получаете дополнительные коды, каждый из которых поможет войти в аккаунт (использоваться может только один раз);

- Google Authenticator не нуждается в интернет доступе для создания кода.

Промах служб поддержки Amazon и Apple (вместе с отсутствием двухшаговой безопасности у iCloud ) привел к тому, что iPad , iPhone и Macbook Мета вышли из строя. Однако, двухступенчатая авторизация могла бы спасти его Google и связанный с ним Twitter аккаунты. Предположим, что вы не пользуетесь данным типом защиты. Если вы забыли пароли и хотите восстановить его, то для этого необходимо будет совершить несколько действий, одним из которых будет получение письма на почту, адрес которой вы указали ранее. Эта процедура является лишь частично скрытой, что позволило хакерам взломать аккаунт Мета. В этом и кроется очень большой промах службы поддержки Amazon и Apple . Если бы пользователь включил двухступенчатую авторизацию, то хакеры, при попытке восстановления пароля, увидели бы следующее сообщение:

Журналисты, а особенно задействованные в сфере технологий, не являются примером обычных пользователей различных аккаунтов, если ваше имя не облетело все просторы интернета, то и вероятность стать жертвой хакеров значительно меньше. Тем не менее, это очень простая и эффективная мера предосторожности для всех. Если вы серьезно связаны с экосистемой Google , то лучше перестраховаться. В противном случае взломщики могут получить доступ к вашей виртуальной жизни, и не только контролировать, а и лишить вас всех приобретений (например, если вы продвинутый Android пользователь и собрали большое количество стафа).

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

Android от А до Я: Двухступенчатая авторизация Google аккаунта:
рейтинг 80 из 80 на основе 80 оценок.
Всего 80 отзывов.

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

Как зарегистрировать аккаунт в гугл: простой способ

Есть несколько разных способов подключения к инструментарию своего профиля в системе. Рассмотрим самый простой из них.

  • Перед тем, как войти в свою учетную запись в гугл, ее нужно создать. Этот процесс достаточно простой и интуитивно понятный. Для создания аккаунта необходимо посетить страницу, перейдя по следующей ссылке: https://accounts.google.com/SignUp?hl=ru . На этой странице и начнется ваша регистрация.
  • Как только пользователь перейдет на эту страницу, перед ним откроется специальная форма. Ее нужно заполнить соответствующими данными: имя, фамилия, дата рождения, а также придумать ник-имя аккунта и указать альтернативную электронную почту для восстановления пароля. Важно обратить внимание на корректность вводимой информации, это будет играть ключевую роль в случае утери пароля или блокировке системы.
  • Процесс регистрации несложный и совершенно бесплатный, занимает всего пару минут у продвинутого юзера и требует элементарной внимательности.
  • После завершения этапа регистрации у пользователя появится возможность войти в аккаунт гугл. Причем это можно будет сделать с любого устройства пользователя, которое имеет доступ к интернету, предварительно залогинившись.

Как войти в аккаунт гугл


Как выйти в аккаунт гугл

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

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




© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows