Skrip masuk melalui jejaring sosial. Masuk menggunakan jejaring sosial

Dalam manual ini, kita akan melihat cara mengatur otorisasi melalui jejaring sosial berikut:

Jika Anda ingin membuat aplikasi autentikasi pengguna Anda sendiri, ikuti petunjuk di bawah ini. Saat meminta izin otorisasi, ini akan memungkinkan Anda menampilkan logo dan nama situs, bukan nilai default:

VKontakte

Klik tombol “Buat Aplikasi”. Halaman login akun VKontakte akan terbuka:

Tentukan nama untuk aplikasi tersebut dan klik tombol "Buat". Pada lembaran baru tolong tunjukkan informasi rinci tentang aplikasi. Ini akan ditampilkan ketika pengguna mendaftar (meminta izin):

Setelah menyimpan perubahan, buka pengaturan aplikasi dan salin “ID Aplikasi” dan “Kunci Aman”:

Tentukan nilai yang disalin di panel kontrol situs dan klik tombol “Simpan”:

Sekarang kembali ke pengaturan aplikasi di situs VKontakte dan isi data:

  • "Buka API" - diaktifkan;
  • “Alamat Situs” dan “Domain Dasar” - domain terlampir Anda.

Aplikasi siap digunakan. Masuk menggunakan jejaring sosial VKontakte dan periksa bagaimana data yang ditentukan dalam aplikasi ditampilkan.

Facebook

Klik tombol "Buat aplikasi" dan pada halaman yang terbuka, login akun pribadi jejaring sosial Facebook.

Kemudian klik tombol “Daftar”:

Untuk mendaftar, Anda perlu mengonfirmasi akun Anda dengan memasukkan nomor telepon Anda:

Isi formulir aplikasi dan klik tombol “Buat ID aplikasi”:

Salin "ID Aplikasi" dan "Rahasia Aplikasi". Mereka harus ditentukan di panel kontrol situs di bidang “ID Klien” dan “Rahasia Klien”, masing-masing:

Dari panel kontrol, salin “Redirect URI”:

Sekarang di situs pengembang Facebook, pilih “Pengaturan” di menu sebelah kiri dan di halaman yang terbuka, buka tab “Lanjutan”:

Di halaman tersebut, temukan “URL pengalihan OAuth yang valid” dan tempelkan URL yang Anda peroleh sebelumnya ke dalam bidang:

Yandex

Klik tombol "Buat aplikasi" dan pada halaman yang terbuka, masuk ke akun pribadi Yandex Anda. Setelah otorisasi, isi formulir aplikasi baru:

Tetapkan izin berikut untuk aplikasi:

  • Akses ke tanggal lahir;
  • Akses ke alamat e-mail;
  • Akses ke login, nama depan dan belakang, jenis kelamin.

Salin "URI Panggilan Balik" dari panel kontrol situs, tentukan di bidang "URL Panggilan Balik" pada aplikasi dan klik tombol "Simpan":

Salin ID aplikasi dan kata sandi:

Masukkan informasi ini di panel kontrol situs:

Aplikasi siap digunakan.

Google+

Klik tombol “Buat aplikasi” dan pada halaman yang terbuka, masuk ke akun pribadi Anda di jejaring sosial Google+.

Pada halaman yang terbuka, pilih “Google+ API”:

Untuk mengaktifkan API, Anda perlu membuat proyek. Klik tombol “Buat Proyek”:

Isi formulir proyek, terima ketentuan penggunaan, lalu klik tombol “Buat”:

Sekarang Anda dapat mengaktifkan API:

Dan mulailah membuat aplikasi:

Membuat aplikasi terdiri dari empat langkah:

1. Pilih jenis kredensial:

2. Buat ID klien OAuth 2.0, tentukan alamat domain dan URI pengalihan yang diizinkan (disalin dari panel kontrol):

3. Isi informasi tentang aplikasi - itu akan ditampilkan kepada pengguna saat pendaftaran:

4. Klik “Selesai”:

Aplikasi kita siap digunakan. Ayo buka halamannya. Untuk melakukan ini, klik “Kredensial” di kolom kiri dan pilih aplikasi dari daftar:

Salin ID klien dan rahasia untuk menunjukkannya di panel kontrol situs:

Twitter

Klik tombol “Buat aplikasi” dan pada halaman yang terbuka, masuk ke akun sosial pribadi Anda jaringan Twitter. Untuk membuat aplikasi, Anda harus memasukkan dan mengonfirmasi nomor telepon Anda (

Jadi, mari kita beralih ke bagian teknisnya. Untuk melakukan ini, kami akan membuat dan mengkonfigurasi aplikasi baru di jejaring sosial. Kemudian kita akan menulis kelas yang akan berinteraksi dengan API VKontakte: membuat koneksi dan menerima data pengguna. Sebagai hasil dari tindakan yang diambil, kami akan dapat mengotorisasi pengguna di situs web kami.

Membuat aplikasi VKontakte baru

Sebelum kita menulis kode apa pun, kita perlu mendaftarkan aplikasi baru. Ini dilakukan secara sederhana, buka profil Anda, buka bagian aplikasi dan klik tombol “Kelola” di dalamnya. Di bagian ini Anda akan melihat daftar semua aplikasi yang Anda gunakan dan tombol “Buat aplikasi”, klik di atasnya. Isi nama dan pilih “Situs Web”.

Setelah itu akan muncul dua kolom baru, yang juga kita isi dan klik “Hubungkan situs”. Di jendela berikutnya Anda harus mengkonfirmasi pendaftaran Anda.


Beginilah cara cepat dan mudah mendaftarkan aplikasi VKontakte baru. Sekarang masuk ke pengaturan dan salin ID aplikasi dan kunci aman ke notepad. Di sinilah pekerjaan dengan jejaring sosial berakhir.


Menulis kelas untuk bekerja dengan API

Sebelum menulis kelas, kita akan mendefinisikan logikanya, yang akan berisi 3 properti dan 3 metode (termasuk konstruktor).

Kelas VKAuth( public $settings = array(); public $auth_status = false; public $user_info = array(); public function __construct($settings)( ) public function auth($code)( ) public function get_link())( ) )

  • pengaturan – bertanggung jawab untuk menyimpan pengaturan untuk menghubungkan ke API;
  • auth_status – status otentikasi, jika pengguna lolos, nilainya berubah menjadi true;
  • Di konstruktor kami akan menerima pengaturan untuk koneksi dan menyimpannya ke dalam variabel pengaturan;
  • auth – metode yang akan terhubung ke API dan mengambil data yang kita butuhkan (menerima kode untuk mendapatkan kunci akses);
  • get_link – metode menghasilkan jalur tautan untuk otentikasi.

Sekarang mari kita lihat masing-masing metode secara detail:

1. Konstruktor:

Seperti yang dinyatakan sebelumnya, kami menerima pengaturan dan menyimpannya dalam variabel pengaturan. Untuk keandalan, kami memeriksa keberadaannya menggunakan fungsi isset().

Fungsi publik __construct($settings)( if(isset($settings["client_id"], $settings["client_secret"], $settings["redirect_uri"]))( $this->settings = $settings; ) )

Pertama, kami memeriksa keberadaan variabel kode dan pengaturan. Jika semuanya baik-baik saja, maka kita membentuk permintaan pertama, yang akan terdiri dari array data yang dibungkus dalam dua fungsi.

urldecode() – menerjemahkan %## karakter dalam url.

http_build_query() – menghasilkan string kueri.

Setelah kami menghubungi alamat yang dihasilkan, kami akan menerima string json sebagai tanggapan. Untuk kenyamanan, kami mengonversi data yang diterima menjadi array; hal ini dilakukan dengan meneruskan parameter kedua yang benar ke fungsi json_decode(). susunan ini akan berisi tiga sel: access_token, expired_in dan user_id.

Mari melangkah lebih jauh, periksa keberadaan token dan buat permintaan baru untuk menerima data pengguna. Dalam fungsi kami, kami akan menyimpan: id, nama depan, nama belakang dan avatar. Untuk melakukan ini, tempatkan baris dengan parameter “uid,nama_depan,nama_belakang,foto_100” di sel bidang, dipisahkan dengan koma. Data pengguna lain apa yang dapat diperoleh dijelaskan dalam dokumentasi objek pengguna. Hubungi kami di tautan baru dan dapatkan jawabannya dalam bentuk array. Kami memeriksa keberadaan data yang diterima dan menyimpannya ke variabel user_info (array yang diterima adalah multidimensi, data akan disimpan di sel nol respons), dan juga mengubah nilai auth_status menjadi true dan mengembalikan nilai true.

Fungsi publik auth($code)( if($code && $this->settings)( $query = urldecode(http_build_query(array("client_id" => $this->settings["client_id"], "client_secret" => $ini->pengaturan["client_secret"], "kode" => $kode, "redirect_uri" => $ini->pengaturan["redirect_uri"]))); $token = json_decode(file_get_contents("https:// oauth.vk.com/access_token?".$query), true); if(isset($token["access_token"]))( $query = urldecode(http_build_query(array("uids" => $token["user_id "], "fields" => "uid,first_name,last_name,photo_100", "access_token" => $token["access_token"]))); $this->user_info = json_decode(file_get_contents("https://api .vk.com/method/users.get?".$query), true); if(isset($this->user_info["response"]["uid"]))( $this->user_info = $this ->info_pengguna["respons"]; $ini->auth_status = benar;

Pertama-tama, kami memeriksa keberadaan pengaturan, dan kemudian membuat jalur untuk tautannya. Fungsi yang digunakan dijelaskan di atas. Ketika pengguna mengklik link dengan jalur ini, dia akan diarahkan ke halaman dengan parameter kode di dalamnya bilah alamat– kode untuk menerima token.

Fungsi publik get_link())( if($this->settings)( $query = urldecode(http_build_query(array("client_id" => $this->settings["client_id"], "redirect_uri" => $this-> pengaturan ["redirect_uri"], "response_type" => "code"))); mengembalikan "https://oauth.vk.com/authorize?".$query ) mengembalikan false;

Otorisasi sederhana

Pada tahap ini, semuanya cukup rasional. Setelah Anda menghubungkan kelas ke file, yang tersisa hanyalah mendapatkan instance VKAuth dengan meneruskan pengaturan ke sana. Di bawah ini kami menjelaskan penangan sederhana yang menangkap variabel $_GET dan memeriksa otentikasi.

Membutuhkan_once("VKAuth.php"); $vk = new VKAuth(array("client_id" => "Application_ID", "client_secret" => "protected_key", "redirect_uri" => "site_address")); if(isset($_GET["code"]))( if($vk->auth($_GET["code"]))( // Menjalankan bisnis kami ) )

Selanjutnya, untuk mengotorisasi, Anda perlu memeriksa keberadaan pengguna di database Anda dan, jika tidak ada, tambahkan. DI DALAM jika tidak perbarui datanya (sebelum memperbarui, disarankan untuk memeriksa apakah sudah berubah). Mengenai database, dua bidang biasanya ditambahkan: jenis otorisasi dan id pengguna di jejaring sosial. Beginilah cara otentikasi dan otorisasi dilakukan melalui jejaring sosial VKontakte.

Di arsip Anda akan menemukannya contoh yang sudah jadi bekerja dengan kelas VKAuth, tempat data pengguna ditampilkan.

Beberapa pengguna menyesal karena belum ada yang menemukan jejaring sosial tanpa registrasi. Proyek seperti ini mempunyai banyak keuntungan, namun juga banyak kerugiannya. Dan yang paling penting, tidak ada seorang pun yang bisa mengelola halamannya sendiri. Karena alasan inilah tidak ada yang membuatnya, tetapi jika perlu, Anda dapat menggunakannya tanpa mendaftar.

Anda bisa menggunakan apa saja jaringan serupa. Tentu saja, fungsinya akan terbatas, tetapi mudah untuk menemukan seseorang, memeriksa kapan dia online, atau menonton video. Ini tidak memerlukan program atau ekstensi browser, akses terbuka disediakan untuk semua orang.

Bagaimana cara masuk ke VKontakte atau Odnoklassniki tanpa registrasi?

Jika tugas utama beralih ke sosial. jaringan tanpa mendaftar - ini adalah pencarian orang, lebih mudah digunakan layanan khusus dari Yandex. Ikuti tautan yandex.ru/people dan Anda akan dibawa ke sana pencarian khusus oleh orang-orang. Cukup masukkan nama depan dan belakang Anda untuk mendapatkan daftarnya:

Untuk membuat pencarian lebih akurat, Anda dapat memasukkan data tambahan dan memilih jejaring sosial tertentu. Di Odnoklassniki, dan di banyak jejaring sosial lainnya, halaman tidak disembunyikan dari pengguna yang tidak terdaftar, jadi buka profil apa pun:

Demikian pula, Anda dapat mencari di jejaring sosial lainnya. jaringan. Saat menggunakan VKontakte, Anda tidak perlu beralih ke Yandex.People. Di sana, pencarian pengguna terbuka untuk semua orang. Masukkan vk.com/search di bilah alamat dan halaman yang Anda perlukan akan terbuka:

Di jalur utama Anda dapat menunjukkan nama depan dan belakang Anda, dan melalui bilah sisi informasi tambahan ditunjukkan:

Beberapa orang menyembunyikan halamannya akses publik, tetapi paling sering terbuka. Oleh karena itu, Anda dapat dengan mudah melihat foto, video, kiriman dinding, status, dan banyak lagi.

Odnoklassniki tanpa registrasi

Kunjungi saja situs ini dan halaman rumah Anda akan melihat postingan dan video populer:

Tanpa mendaftar, Anda dapat pergi ke komunitas mana pun dan melihat postingan. Saat Anda mencoba menulis komentar atau bergabung dengan grup, Anda akan dibawa ke halaman login.

Kunjungi jejaring sosial fungsi terbatas, Anda masih dapat melihat profil dan hampir semua konten. Jika ini tidak cukup bagi Anda, tetapi Anda tidak ingin menggunakan profil Anda, maka pilihan terbaik adalah sebuah ciptaan halaman tambahan. Tidak punya nomor telepon gratis? Beli akun yang sudah jadi di Buyaccs.com. Toko online ini menjual profil dari hampir semua jejaring sosial. jaringan:

Biayanya tergantung pada seberapa penuh akun tersebut dan berapa banyak teman yang ada di dalamnya. Anda dapat membayar dengan cara apa pun, dengan kartu bank, uang elektronik dan bahkan transfer dari saldo ponsel Anda (melalui Robokassa). Dengan mengeluarkan sedikit uang, Anda akan mendapatkan profil dan dapat menggunakan jejaring sosial tanpa registrasi.

Situs-situs seperti VKontakte, Odnoklassniki, Facebook dan Twitter digunakan untuk berbagai tujuan, namun kita tidak boleh lupa bahwa semuanya cocok untuk pekerjaan jarak jauh. Cari tahu dan gunakan dengan mengikuti langkah-langkah sederhana, Anda dapat dengan mudah mendapatkan sedikit uang untuk membeli akun sendiri atau membayar komunikasi seluler.

Ada satu yang berguna informasi spesifik tentang teknis pelaksanaan.

Dan singkatnya...

Untuk otorisasi dan registrasi, tabel “pengguna” yang sama digunakan. Seiring dengan registrasi dan otorisasi reguler, pada saat registrasi (sebenarnya dalam bentuk yang sederhana) email, kata sandi dan login pengguna, dan selama otorisasi, kepatuhan login dan kata sandi yang dimasukkan dengan yang ada di database diperiksa dengan cara yang sama; Hanya di dalam hal ini Sumber data pengguna untuk pendaftarannya bukanlah pengguna langsung yang memasukkan data ke dalam formulir, melainkan jejaring sosial. bersih. Pendaftaran dalam hal ini cukup transparan yaitu. tidak terlihat oleh pengguna. Skemanya kira-kira sebagai berikut (tanpa spesifik protokol Oauth):


1) Pengguna memilih login melalui media sosial. bersih.
2) Ada panggilan ke halaman otorisasi di jejaring sosial ini. jaringan, jika orang tersebut belum masuk ke sana. Setelah memasukkan data, dan jika sebelumnya dia diberi wewenang, maka dibuatlah permintaan izin untuk menggunakan datanya.
3) Jika seseorang menolak, itulah akhirnya. Jika dia setuju, dia diarahkan ke halaman situs yang ditentukan dalam pengaturan Oauth.
4) Setiap pengguna di media sosial jaringan memilikinya sendiri pengenal unik, yang dapat ditanyakan. Untuk tabel "pengguna" Anda, Anda perlu menambahkan beberapa bidang tambahan (misalnya, seperti ini): auth_via (enum("native, "vk", "mailru", "...")) - untuk menunjukkan jenisnya pendaftaran pengguna, dan social_id - pengidentifikasi unik di jejaring sosial akan disimpan di sini. Jika Anda perlu menyimpan beberapa data spesifik pengguna ini dari jejaring sosial, Anda dapat membuat bidang tambahan untuk data ini.
5) Setelah pengguna memberikan izin untuk menggunakan datanya, perlu meminta data yang diperlukan dari jejaring sosial. jaringan, termasuk. dan ID pengguna di media sosial. jaringan. Di sinilah proses pendaftaran tak kasat mata dimulai. Anda perlu memeriksa apakah ada pengguna dengan social_id ini di database, jika tidak, masukkan social_id, data pengguna dari jejaring sosial. jaringan, jika perlu, dalam database. Itu saja, pengguna sudah terdaftar.
Jika ada data tentang pengguna, maka Anda perlu meminta data terkini dari media sosial. jaringan, bandingkan dengan yang ada di database dan jika sudah berubah, perbarui di database Anda, jika tidak, lanjutkan ke langkah berikutnya.
6) Sesi dengan data pengguna dibuat.

Dengan demikian, tabel registrasi “asli” pengguna situs yang ada digabungkan, secara relatif, dengan tabel dengan kolom yang diperlukan untuk registrasi/otorisasi melalui media sosial. jaringan., dan tidak saling mengganggu.

Untuk pengguna yang terdaftar dari media sosial. Secara alami, tidak ada kata sandi jaringan dan login. Mereka diperlukan untuk otorisasi. Dan karena Pengguna masuk menggunakan login sosial dan kata sandinya. jaringan, maka tidak ada yang perlu ditunjukkan di sini. Namun, selama otorisasi, Anda dapat menambahkan ketentuan pada permintaan verifikasi login dan kata sandi

"DAN DI MANA `auth_via`="asli""

Untuk mengecualikan pengguna yang terdaftar dari jejaring sosial. jaringan.

Seperti yang Anda lihat, kunci utama internal (intrasit, bisa dikatakan), yang bertambah otomatis dibuat untuk setiap pengguna dalam tabel. Oleh karena itu, tidak ada perbedaan logika situs antara pengguna yang terdaftar melalui media sosial. jaringan dan melalui situs web. Jika kita berbicara tentang toko online, maka untuk menghubungkan pesanan ke pengguna, Anda dapat menggunakan satu ID internal.

Banyak situs web dan aplikasi mengharuskan pengguna untuk mendaftar. Terkadang mereka menawarkan pilihan - mendaftar atau masuk menggunakan salah satu jejaring sosial. Ini nyaman bagi pengguna - tidak perlu mengisi formulir pendaftaran setiap saat, cukup klik tombol login dan konfirmasi akses.

Bagaimana cara kerja login sosial?

Caranya sangat sederhana: cukup pilih “jejaring sosial” yang ingin Anda gunakan untuk mendaftar, klik tombol yang sesuai, lalu konfirmasikan izin untuk mengakses data pribadi Anda. Seringkali, situs atau aplikasi itu sendiri menawarkan beberapa jejaring sosial untuk dipilih. Setelah ini, semua data yang diperlukan akan dikirim ke situs, dan kolom di formulir pendaftaran akan terisi secara otomatis.

Dalam hal ini, situs tersebut tidak “mengenali” kata sandi dari akun jejaring sosial Anda.

Perlu dicatat bahwa dalam hal ini, situs tidak "mempelajari" kata sandi dari akun jejaring sosial Anda - hanya informasi dari profil yang diperlukan untuk pendaftaran yang dikirimkan. Jika situs tersebut tampak mencurigakan bagi Anda dan Anda tidak ingin memberikannya akses ke data Anda, cukup pilih registrasi reguler.

Harap dicatat

Terkadang aplikasi dan situs meminta izin tidak hanya untuk masuk dari jejaring sosial, tetapi juga untuk mengakses daftar teman Anda atau memposting atas nama Anda di feed acara. Dalam kasus seperti ini, Anda sering kali dapat memilih tindakan mana yang Anda izinkan dan mana yang Anda blokir. Jika suatu hari Anda berubah pikiran dan memutuskan bahwa Anda mengizinkan terlalu banyak situs, Anda selalu dapat memblokir akses ke data jejaring sosial di pengaturan situs atau aplikasi tersebut.

Banyak organisasi dan produsen mencoba untuk terlibat sebanyak mungkin dalam kehidupan pengguna, dan jejaring sosial adalah salah satu caranya.

Secara keseluruhan ini cara yang nyaman menghemat waktu dan tidak perlu memasukkan kembali semua data Anda, yang bisa memakan banyak waktu untuk pendaftaran. Pada saat yang sama, beberapa situs memungkinkan tidak hanya untuk mengisi akun Anda, tetapi juga untuk menindaklanjutinya, misalnya, di komentar, dan pada saat yang sama menandai publikasi dari situs ini di halaman jejaring sosial Anda. Seringkali serupa otorisasi sosial Mereka menggunakan aplikasi dan situs web olahraga di mana, setelah masuk, mereka dapat menemukan teman, mengikuti kesuksesan olahraga mereka, berbagi prestasi dengan mereka, dan berkompetisi. Banyak organisasi dan produsen mencoba untuk terlibat sebanyak mungkin dalam kehidupan pengguna, dan jejaring sosial adalah salah satu caranya.

Secara teknis, ini adalah solusi yang sangat umum, namun Anda harus selalu hanya mempercayai situs tepercaya dan memperhatikan peringatan dan instruksi saat masuk.

Berdasarkan materi dari layanan dukungan Agen Mail.Ru

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat