- Authenticating Your Client
- Using Play App Signing
- Self-signing Your Application
- Using Keytool on the certificate
- Using Keytool on an APK or AAB
- Using Gradle’s Signing Report
- Авторизация через Google в Android и проверка токена на сервере
- Небольшая подготовка
- Добавляем действие на кнопку
- Необходимые области доступа
- Регистрация нашего приложения.
- Код получения токена
- Проверяем токен на сервере. (PHP)
- Где debug.keystore в Android Studio
- Где находится отладка.хранилище ключей в Android Studio
- 9 ответов
- How to Get SHA-1 key in Android Studio for Firebase.
- 3. Using gradlew
Authenticating Your Client
Certain Google Play services (such as Google Sign-in and App Invites) require you to provide the SHA-1 of your signing certificate so we can create an OAuth2 client and API key for your app.
Using Play App Signing
If you’ve published your app using Play App Signing, a requirement when using Android App Bundle, you can get your SHA-1 from the Google Play Console on the Release > Setup > App Integrity page.
Self-signing Your Application
If you’re not using Play App Signing, follow the instructions below to use Keytool or Gradle’s Signing Report to get your SHA-1.
Using Keytool on the certificate
Open a terminal and run the keytool utility provided with Java to get the SHA-1 fingerprint of the certificate. You should get both the release and debug certificate fingerprints.
To get the release certificate fingerprint:
To get the debug certificate fingerprint:
The keytool utility prompts you to enter a password for the keystore. The default password for the debug keystore is android . The keytool then prints the fingerprint to the terminal. For example:
Using Keytool on an APK or AAB
To get the certificate of an application binary:
Using Gradle’s Signing Report
You can also get the SHA-1 of your signing certificate using the Gradle signingReport command:
The signing report will include the signing information for each of your app’s variants:
To learn more about digital signing on Android, see Signing Your Applications.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Источник
Авторизация через Google в Android и проверка токена на сервере
Недавно мне захотелось создать личный проект на андроиде, и основной вопрос был такой: как однозначно идентифицировать пользователя заставляя его делать как можно меньше телодвижений? Конечно же это аккаунт Google. Я пытался пробовать множество примеров в сети — однако API несколько раз обновилось за время своего существования, многие методы не работали, мои вопросы в Google+ по этому поводу либо были вообще никак не восприняты окружением, либо были вроде «Никогда такое не делал».
В этой статье я постараюсь как можно более просто для новичков (вроде меня) описать мой метод авторизации в Google на андроид, получения токена и проверке этого самого токена на сервере.
Небольшая подготовка
Для начала — у вас должны быть установлены Google Play Services в SDK. После их установки можно будет импортировать все необходимые библиотеки. Статья пишется с расчетом на Android Studio — он сам подсказывает, что необходимо импортировать.
У вас должно быть создано активити с кнопкой.
Чтобы было привычнее пользователю можете создать стандартную кнопку Google+ Sing-In
Выглядеть она будет вот так:
Просто добавьте в ваш Layout:
Добавляем действие на кнопку
Пишем в нашем активити:
Собственно присвоим кнопке действие — вызов интенда выбора аккаунта. Если вы работаете в Android Studio он сам вам подскажет, какие библиотеки нужно импортировать, так что это подробно тут я расписывать не буду.
startActivityForResult(intent, 123); — задает код с которым произойдет возврат. 123 это код возврата, он может быть каким угодно. Это необходимо, когда вы делаете несколько интендов, и вам надо обработать их по разному.
Необходимые области доступа
Обьявите эти переменные в классе. Это необходимые нам области доступа. Первый написано в google: «Позволяет определить аутентифицированного пользователя. Для этого при вызове API необходимо указать me вместо идентификатора пользователя Google+. » Второе разрешение нам необходимо для получения личных данных пользователя (Имя, Фамилия, адрес G+ страницы, аватар), и последнее для получения E-mail. Я посчитал это важным, ведь это вполне неизменный идентификатор для записи в бд.
Регистрация нашего приложения.
Изначально забыл этот пункт — исправляюсь.
Нам необходимо зайти на code.google.com/apis/console создать там проект, зайти в Credentials и создать новый Client ID для OAuth выбрав пункт Installed Application -> Android. Там нам необходимо ввести название нашего пакета и SHA1 сумму нашего ключа.
С этим у меня на самом деле было много проблем решил достаточно костыльным способом.
Нашел debug.keystore в %USERPROFILE%\.android\debug.keystore поместил в папку с проектом и прописал в build.grandle:
После чего нам нужно выполнить команду:
keytool -exportcert -alias androiddebugkey -keystore
/.android/debug.keystore -v -list
Сам keytool можно найти в SDK. Из вывода копируем SHA1 в нужное поле.
Как я понимаю метод временный, и для нормальной работы надо создать нормальный ключ. Но для тестирования этого достаточно.
Код получения токена
Где 123 — ваш код, который вы указали ранее, где AcrivityName — название вашего актитивити. Грубо говоря — мы скармливаем функции получения токена необходимые разрешения и имя аккаунта. И заметьте — это все происходит в фоновом режиме, после чего полученный токен передается в написанную мною функцию reg. Она уже отправляет токен и все необходимые данные на сервер.
Так как разрабатываю недавно, с исключениями пока что беда, если есть предложение — напишите в личку или в комментарии.
Проверяем токен на сервере. (PHP)
Хочу обратить внимание, полученный нами токен имеет тип Online. И действует он лишь 10 минут. Для получения offline токена (чтобы дольше работать с ним с сервера) обратитесь к этой инструкции developers.google.com/accounts/docs/CrossClientAuth
Собственно скармливаем токен в googleapis и забираем полученный JSON ответ.
Источник
Где debug.keystore в Android Studio
Мне нужно включить google + api, поэтому мне нужен debug.keystore . Я переключился на Android Studio и не знаю, где это. Я могу найти его в eclipse по пути
EDIT Шаг 1) Перейдите в раздел «Файл»> «Структура проекта»> выберите проект> перейдите к «подписанию» и выберите свой по умолчанию или любое хранилище ключей, которое вы хотите, и заполните все детали. Если вы не можете заполнить данные, нажмите зеленую кнопку «+». Я подчеркнул на скриншоте.
Шаг 2) ОЧЕНЬ ВАЖНО: Goto Build Types> выберите тип сборки и выберите «Конфигурация подписки». В моем случае я должен выбрать «config». Проверьте выделенную область.
Еще один способ узнать вашу ключевую информацию – это перейти в папку java, для меня это было
И выполните следующую команду
Из команды вы можете легко увидеть, что адрес хранилища ключей: «c: \ users / . Android \ debug.keystore», alias – это «androiddebugkey», пароль для хранения пароля «android» – это «android»,
Это стандартная конфигурация из документации «Получить API-интерфейс Android». https://developers.google.com/maps/documentation/android-api/signup
Для пользователя Windows: C:\Users\username\.android\debug.keystore
Для пользователя Mac OS:
После того, как вы получите SHAH1 ниже кода с помощью командной строки:
У меня эта проблема. Файл debug.keystore отсутствовал. Таким образом, единственным шагом, который создал правильный файл для меня, был создание нового Android-проекта в Android Studio.
Это создало мне новый debug.keystore по пути C:\Users\username\.android\ .
Это решение, вероятно, работает только тогда, когда вы еще не создали никаких проектов.
В Android Studio вы можете найти всю информацию о подписке на приложение без какой-либо консоли:
Откройте свой проект
Нажмите на Gradle с правой стороны
В панелях проектов Gradle открываются папки: ваш проект -> Задачи-> Android
Источник
Где находится отладка.хранилище ключей в Android Studio
Мне нужно включить Google + api, поэтому мне нужно debug.keystore . Я переключился на Android Studio и не знаю, где он находится. Я могу найти его в eclipse в path
/.android / отладка.хранилище ключей.
9 ответов
редактировать Шаг 1) Перейдите в файл > структура проекта > выберите проект > перейдите в «подпись» и выберите по умолчанию или любое хранилище ключей, которое вы хотите, и заполните все детали. В случае, если вы не можете заполнить детали, Нажмите зеленую кнопку»+». Я выделил на скриншоте.
Шаг 2) очень важно: типы сборки Goto> выберите тип сборки и выберите «конфигурация подписи». В моем случае, я должен выбрать «Настройки». Проверьте выделенную область.
Для Пользователя Windows: C:\Users\username\.android\debug.keystore
для пользователя Linux / Mac OS:
после того, как вы получите SHAH1 ниже код с помощью командной строки:
другой способ узнать вашу ключевую информацию-перейти в папку java, для меня это было в
и выполните следующую команду
из команды вы можете легко увидеть, что адрес хранилища ключей «c:\users / .android\debug.keystore», псевдоним «androiddebugkey» пароль магазина «android» ключевой пароль «android»
В Android Studio вы можете найти всю информацию о подписывании приложения без какой-либо консольной команды:
нажмите на Gradle с правой боковой панели
в панели проектов Gradle откройте папки: ваш Проект — > Задачи — > Android
у меня проблема. The отсутствует. Таким образом, единственным шагом, который создал правильный файл для меня, был создание нового проекта Android в Android Studio.
Он создал мне новый debug.keystore по пути C:\Users\username\.android\ .
это решение, вероятно, работает только тогда, когда вы еще не создали никаких проектов.
в Windows, если отладка.файл keystore не в расположении (\C:\Users\username.андроид), отладка.keystore файл также может быть найден в том месте, где вы установили Android Studio.
самое простое, что я могу придумать, это захватить отпечаток пальца из отладки.keystore (пути указаны в других ответах) и добавьте это в свой проект. Нет необходимости копировать хранилища ключей или добавлять новые приложения. Просто добавьте к списку отпечатков пальцев для каждой машины, на которой вы разрабатываете.
FWIW, я столкнулся с этим, когда переключился с одного ноутбука на другой. Я прыгаю вокруг много.
надеюсь, что это поможет некоторым людям! 🙂
файл хранилища ключей по умолчанию: debug.keystore в папке .android который обычно находится в домашней папке по умолчанию вашей операционной системы пользователя, который установил этот Android SDK.
в моем Ubuntu PC это местоположение /home/dhananjay/.android
тогда как на ПК с Windows он расположен по адресу C:\Users\dhananjay\.android
Источник
How to Get SHA-1 key in Android Studio for Firebase.
There are two methods of getting SHA-1 key, but First one is not working for Windows user. So, if you are a Windows user then go for 2nd Method.
Update:- On Android Studio Latest version(on 24 Sept 2021) 2020.3.1 for Windows 64-bit (912 MiB), Step 2 will not Work. So, go for Step 3 .
1. Using Keytool
Open a terminal and run the keytool the utility provided with Java to get the SHA-1 fingerprint of the certificate. You should get both the release and debug certificate fingerprints.
To get the release certificate fingerprint:
For Windows:-
For Mac/Linux:-
Note:- If you are not able to get your SHA-1 key using Keytool then Follow the below Method, in this method you will definitely get your SHA-1 key.
2. Using Gradle’s Signing Report
You can also get the SHA-1 of your signing certificate by Gradle signingReport . But for that, you have to follow some steps.
Step 1 : – First of all
=> open your project in Android Studio and open the project.
=>In the project, go to the android/app directory where you find build.gradle file. => Open it.
=> After opening, you’ll find an Open for Editing in Android Studio option, Click on it and open it in a new Tab. See the Below Image.
Step 2 :- After opening the file in the new tab, Wait for some time until Gradle Build Model Process Completes.
=> After Build Successful, go to the upper-right section where you find the Gradle option. Click On it.
=> After that Open Android->Tasks->android and Double click on signingReport .
See the Below Image For Help.
Step 3:- After Clicking on it, you’ll get a List of SHA-1 Keys but you have to choose Debug-Debug SHA-1 Key and copy and paste it on your Firebase. See the Below Image:-
3. Using gradlew
Step 1:- Right-click on ‘gradlew’ and go to ‘Open in Terminal’ This file is found under <
Step 2:- Type the following in command.
If did not work first try the second command:
Источник