Авторизация через facebook android studio

Master Facebook’s OAuth process in Android

Here we’ll show you how to go through the Facebook OAuth process, which lets any Facebook user log in to Facebook and grant your Android app access to their account. Our simple app simply logs users in and displays some info about their Facebook profile.

Run our Facebook OAuth Example

1 Log in to Temboo. If you don’t already have an account, you can register for free.

2 Download our Facebook OAuth example code and unzip it. Go into Android Studio and select Open Project, and select the folder you’ve just unzipped.

3 Download the Temboo Android SDK and add it to the project as described in the Getting Started example. You’ll need to add the core and Facebook .jar files.

4 Confirm that your project has in its manifest.

5 Create a new Facebook app via the Facebook developer console using the Apps menu at the top of the page. Once you’ve created a new App, click the Settings tab on the left, select + Add Platform, and choose the Website option. Set up your Temboo callback URL by specifying the following URL as your Site URL:

6 Go to the example code you downloaded earlier, and in FacebookOAuthHelper.java , substitute in your Facebook app details over the default values shown below:

7 Now, still in FacebookOAuthHelper.java , substitute in your Temboo account details over the default values in the code. You can find these credentials on the Applications page of your Temboo account.

8 Deploy and run the app. After a few moments you should be redirected to Facebook where you can log in and grant the application access. Once you’ve done so you should be redirected back to your application where you’ll see your user profile information in JSON format. That’s it!

Taking a closer look at the code

This example includes an OAuth helper class for Facebook and a WebView to display the Facebook login and grant-access screens. The FacebookOAuthHelper class has a few components:

First, we generate a secure random state token and create a Temboo session object. Creating a state token can be handy in a couple ways:

  • When beginning the OAuth process, the InitializeOAuth Choreo will always return a CallbackID used to retrieve OAuth callback data after the user redirects back to your app’s page. In some cases, it can be desirable to be able to predict this CallbackID by generating a state token and passing it as the CustomCallbackID in the InitializeOAuth Choreo and as part of the URL you provide for the ForwardingURL.
  • Your application can use the state token to finish the OAuth process and retrieve the user’s access token.

    Below is how we generate the state token:

    After generating this token, we can execute the InitializeOAuth Choreo in the doInBackground method of the FacebookInitOAuthTask internal class. This is the point in the code where the user is redirected to Facebook in order to log in an grant the application access:

    Note that we use the stateToken as the CustomCallbackID .

    Once the user logs in and authorizes the application, Facebook attempts to redirect the user to the forwarding URL specified in the initialize OAuth flow. Our WebView watches for this redirect, and when it identifies our forwarding URL as the target it prevents the redirect and instead uses Temboo to finalize the OAuth process. This is handled in our MainActivity class:

    Читайте также:  The lost future андроид

    The FacebookOAuthHelper class’s getUserInfo method in turn runs the FinalizeOAuth choreo. Upon success of this choreo we can retrieve the Facebook access token. This functionality occurs in the FacebookFinalizeOAuth internal class:

    The last step is to use the access token to retrieve the user’s Facebook account information and write it into the WebView , which is done in the FacebookGetUserInfoTask internal class:

    Kick off the OAuth process by adding new FacebookInitOAuthTask().execute(); to the end of your MainActivity’s onCreate method.

    We’re all finished! This Android application executes the OAuth flow, and retrieves information about your app’s user. We also have OAuth support for many other APIs in our Choreo Library.

    Once you’ve got your code up and running, you’re ready to move on and do more. From monitoring your running applications, to moving your generated Temboo code to your preferred development environment and sharing it with colleagues, collaborators and friends — we’ve got you covered.

    Источник

    Добавление аутентификации Facebook в ваше приложение Android

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

    Независимо от того, откуда пришел пользователь вашего приложения, возможность входа через социальную учетную запись (например, Facebook или Twitter) в качестве альтернативы заполнению формы имеет несколько преимуществ:

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

    Общий вход в социальную сеть меняет правила игры, и во всех мобильных приложениях наблюдается сильная тенденция его внедрения. Но добавление социальной логин в ваше приложение не для слабонервных! Хотите добавить логин Twitter в свое приложение? Там нет Android SDK. Может быть, вы можете скопировать чужое решение . Теперь вам нужно добавить логин на Facebook? Вы можете проверить Facebook Android SDK и выполнить несколько простых шагов (не так), чтобы заставить его работать.

    Или вы можете просто использовать Kii Cloud SDK. Один последовательный, надежный и простой в использовании SDK, который покрывает все ваши внутренние потребности (от управления пользователями до полного управления данными, от базовой до полностью настраиваемой аналитики, от обработки тонны рекламных сетей с несколькими строками кода до выполнения push-уведомлений во всех его варианты).

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

    В этой записи блога я покажу вам, как разрешить пользователям регистрироваться / входить в приложение Android за один шаг, используя всего несколько строк кода с помощью самой популярной социальной сети: Facebook (на которую в 1 квартале 2013 года приходилось 46% предпочтений в социальных сетях).

    Читайте также:  Блокнот для заметок для андроид

    Настройка Kii Cloud

    Прежде всего, давайте посмотрим, как настроить приложение Android для использования Kii Cloud SDK. Перейдите на сайт developer.kii.com и зарегистрируйтесь. После входа в систему нажмите «Создать приложение», установите флажок «Android», нажмите «Создать», затем нажмите значок Android, прокрутите немного вниз и загрузите Kii Cloud Android SDK по предложенным ссылкам (Cloud SDK v2. 1.7). Вы получите файл jar, который вы должны включить в каталог libs внутри вашего проекта Android Eclipse, а затем из Eclipse вы должны «Добавить в путь сборки». Хорошо, теперь мы готовы работать с Kii Cloud в вашем приложении для Android.

    Чтобы определить, с каким приложением вы работаете, Kii Cloud использует два токена: идентификатор приложения и ключ приложения. Перейдите на сайт developer.kii.com , выберите приложение, созданное на предыдущем шаге, и нажмите «Ключи доступа» (найдите значок ключа). Запишите идентификатор приложения и ключ приложения.

    Теперь вернемся к вашему проекту Android в Eclipse, добавьте следующие разрешения в ваш AndroidManifest.xml:

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

    Перед выполнением любого вызова API вам потребуется инициализировать Kii Cloud с вашим приложением, используя ключи, описанные выше:

    Источник

    Android programmers blog

    Simply about difficult

    Поиск по этому блогу

    среда, 21 января 2015 г.

    Авторизация в Facebook через FB SDK 3.0 Android

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

    Я раньше писал уже про работу с FB , но многое изменилось с того времени (март 2013 года). как ни как почти два года прошло. У фейсбука появилось куча фишек которых в старом апи нет, оно рабочее и в принципе если лень разбираться с новым, хотя он проще и удобней, можно использовать старый, но тогда вы потеряете кучу возможностей по работе с новым апи.

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

    Заходим вот сюда developers.facebook.com/apps/ и жмем кнопку Add new app.

    У вас должно появиться следующее окно с выбором категории

    Дальше выбираем категорию и вписываем название приложения

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

    Дальше после того как фейсбук сказал мне что называть свои приложения fb, face… book… и т.д. нельзя, мне пришлось как то извернуться и переименовать приложение по другому, но в общем…

    После всех этих операций вас перекидывает на экран Quick Start, скролим до самого низа до пункта Tell us about your Android project, в котором нужно внести свой package name и активити в которой будет происходить вся ахинея. Это очень важно так как если вы введете не верную активити после нажатия на кнопку ничего просто не будет происходить, я уже это попробовал и не знаю баг это или фича…

    После чего дергаем скролом до самого верха и жмем кнопку Skip quick start, так как в этом месте мы все порешали уже. И нас перебрасывает на страницу с App ID который нам собственно и нужен

    Читайте также:  Авто тахометр для андроид

    Нам он нужен по этому скопируйте его куда-то ну или не закрывайте эту страницу.

    Дальше нам надо перейти на вкладку Settings в которой у нас нужно сгенерировать Key Hash. Есть два способа получения этого ключа.

    Первый способ и самый удобный — это написание кода в onCreate который в лог выведет вам ваш ключ, этот код выглядит вот так:

    Вставляете его в onCreate в вашей активити и запускаете программу. И есть второй способ, он немного трудней, тут надо генерировать через командную строку.

    Открываем командную строку и пишем следующее

    Где C:\Users\UserName.android\debug.keystore — адрес к вашему keystore файлу, он обычно лежит как раз по этому адресу который указан выше.

    Теперь вам осталось вписать данный ключ в поле Key Hash на странице Settings и нажать кнопку Save.

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

    Нам нужно добавить библиотеку для работы с facebook в проект. Если вы используете Android studio то для вас все будет немного проще.

    Открываем в нашем созданном проекте файл build.gradle и пишем следующие строки

    Как я писал в одной из последних статей, мы тут будем подключать Maven репозиторий что бы не скачивать архив с сдк и не подключать его как отдельный project lib.

    Если же вы используете Eclipse то вам нужно скачать папку facebook c данного git репозитория и подключить его как библиотеку проект к своему проекту в Eclipse.

    Теперь все уже точно. Теперь кодинг стопудово начнется.

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

    Обратите внимание на вот такое

    Без этой строчки кнопка будет подсвечиваться вся красным так как леяут не определен как рабочая область для обработки команд фб сдк. По этому не забываем об этой строке.

    Дальше нам нужно вписать наш App ID который мы получили при регистрации приложения в string файл.

    Заметте — это обязательно что бы ключ был прописан в string файле, иначе сдк просто не будет понимать что это ключ если вы его впишите просто так в манифесте.

    Теперь нам нужно в манифестве прописать вызов LoginActivity который есть стандартным для сдк, нам никакой LoginActivity создавать не надо… И не забыть прописать доступ в интернет и проверку на наличие интернета.

    Вот что нам надо добавить в манифест для полноценной работы с сдк:

    А вот полностью весь манифест что бы вы понимали где и что надо вставлять.
    AndroidManifest.xml

    Ну а теперь код. В MainActivity мы инициализируем все методы для работы с сдк, создадим сессию и будем получать данные после авторизации. Как обычно код с комментариями, а потом небольшое разъяснение.

    Вот собственно и все, код очень легкий, создали колбек в который передаем все что возвращает onActivityResult и выводим это на экран или запоминаем в префы \ базу.

    Все данные что вы хотите получать вы получаете здесь

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

    Так как у меня стоит приложение фейсбука то по клику на кнопку — приложение автоматически заходит в аккаунт без каких либо махинаций

    если же приложение не стоит то появится диалог и нужно будет вводить свои данные (старый скрин с предыдущей статьи)

    Собственно и все что я хотел расказать и показать, спасибо за внимание.

    Источник

  • Оцените статью