Biarkan saya mulai dengan mengatakan saya sudah mencari jawaban untuk pertanyaan ini untuk beberapa waktu ...
Saya mencoba mengatur Facebook OAuth untuk bekerja dengan aplikasi saya yang sedang dikembangkan secara lokal di mesin saya. Semuanya berfungsi sempurna dengan otorisasi Facebook SAMPAI saya pindah dari menggunakan localhost
ke nama domain lain (masih lokal ke mesin saya.) Sekarang saya mendapatkan kesalahan berikut.
Tidak Dapat Muat URL: Domain URL ini tidak termasuk dalam domain aplikasi. Agar dapat memuat URL ini, tambahkan semua domain dan subdomain aplikasi Anda ke bidang App Domains di pengaturan aplikasi Anda.
File host saya berisi 127.0.0.1 photovote.dev
(berfungsi sempurna)
Arahan ulang saya di aplikasi saya (menggunakan Socialite) adalah http://photovote.dev/auth/facebook/callback
Di Pengaturan Aplikasi Facebook saya ...
- Domain Aplikasi saya adalah
photovote.dev
- URL situs saya adalah
http://photovote.dev/
- URI redirect OAuth saya yang valid adalah
http://photovote.dev/auth/facebook/callback
URL pada saat pesan kesalahan adalah ..
Saya bingung apa masalahnya ...
Jawaban:
Ini biasanya terjadi jika Anda memasukkan detail yang salah saat membuat Aplikasi di Facebook. Atau sudahkah Anda mengubah URL dari Aplikasi yang ada?
Bisakah Anda periksa kembali pengaturan aplikasi Anda di halaman ini?
https://developers.facebook.com/apps
Pilih Aplikasi yang benar dan klik di tombol edit;
Periksa URL & jalur yang dimasukkan dengan benar dan menunjuk ke situs tempat Anda menginstal plugin Ultimate Facebook.
sumber
Jika seseorang menemukan ini dan sedang mencari pengaturan ini (seperti saya)
Kamu harus
Info Tambahan: Pastikan untuk menambahkan URL Panggilan Balik
http://localhost:3000
keValid OAuth redirect URIs
bidang pada halaman pengaturan Login Facebooksumber
Valid OAuth Redirect URIs
dan menambahkan nilai bidang ini menyelesaikan pesan kesalahan FB buruk terkait dengan memperbarui AndaApp Domains
.Saya memiliki masalah yang sama. Saya memecahkannya dengan menambahkan URI pengalihan OAuth saya sebagai argumen ke panggilan fungsi getAccessToken:
Jika tidak ada argumen yang dikirim ke fungsi itu SDK menghasilkan URI redirect dengan sendirinya yang seharusnya berfungsi tetapi dalam kasus saya tidak.
Semoga ini bisa membantu seseorang.
sumber
Pastikan aplikasi Anda bersifat publik. Klik + Tambahkan produk Sekarang, masuk ke produk => Facebook Login Sekarang lakukan hal berikut:
URI redirect OAuth yang valid: example.com/
Hapus otorisasi URL Panggilan Balik: https://example.com/facebookapp
sumber
Deauthorize Callback URL : https://example.com/facebookapp
dibutuhkan? Akankah itu berhasil tanpa itu?Inilah yang saya lakukan untuk mengatasi masalah ini:
Pada dasarnya:
1) Aktifkan " Login OAuth Browser Tertanam "
2) Nonaktifkan " Gunakan Mode Ketat untuk Redirect URIs " dan masukkan URI redirect seperti yang saya lakukan.
3) Biarkan semua sisa opsi apa adanya.
4) Simpan perubahan Anda.
5) Nikmati :)
sumber
Saya memiliki masalah yang sama, dan itu berasal dari ID aplikasi client_id / Facebook yang salah.
Apakah Anda mengganti aplikasi Facebook Anda menjadi "publik" atau "online? Ketika Anda melakukannya, Facebook membuat aplikasi baru dengan ID Aplikasi baru.
Anda dapat membandingkan nilai parameter "client_id" di url dengan nilai di dasbor Facebook Anda.
sumber
Cara saya memperbaikinya: Saya pergi ke kotak teks URI Redirect OAuth Redirect dan mengatur URL yang tepat , bukan hanya domain :
sebelum:
https://my-website.com
setelah:
https://my-website.com/facebookoauth/facebooklogin
(url mungkin berbeda dalam kasus Anda, periksa di bilah alamat browser).
Ini disebabkan oleh pengaturan Use Strict Mode untuk Redirect URIs, yang terkunci pada posisi Ya.
sumber
Saya memiliki masalah ini hari ini, saya menemukan dokumentasi Facebook dan SDK tidak sopan dan arogan terhadap pengembang lain untuk sedikitnya.
Selain memiliki "domain aplikasi" di dua lokasi berbeda tanpa banyak informasi (3 jika Anda menambahkan platform "web"), Anda juga harus membuka produk / login facebook / pengaturan dan menambahkan URL pengalihan Anda di bawah URI Validasi OAuth Redirect URI
Kesalahan mengatakan TIDAK ADA tentang pengaturan oauth.
sumber
Mulai 2017-10.
Solusi yang memecahkan masalah saya.
Saat ini FB membuat kejutan ini.
Pengaturan untuk menyesuaikan terletak di sini https://developers.facebook.com/apps/[your_app_itentifier[/fb-login/ .
Trash slash itu penting. Mereka harus cocok dengan kode aplikasi Anda dan dalam pengaturan admin FB. Jadi ini adalah konfigurasi di suatu tempat dalam kode Anda (lihat di bawah cara mendapatkan nama domain untuk aplikasi dev):
dan di sini
Untuk mendapatkan nama domain apa pun untuk aplikasi di mesin Windows lokal, edit
host
file. Nama kustom yang baik dalam rangka untuk menyingkirkan semua oranglocalhost:8080
,0.0.0.0:30303
,127.0.0.0:8000
, sebagainya. Karena beberapa layanan pihak ketiga seperti FB terkadang gagal membiarkan Anda menggunakan127.0.0.0
nama.Pada Windows 10
hosts
file ada di sini:Cadangkan file awal, buat salinan dengan nama yang berbeda (Tidak bekerja di CMD Windows asli. Saya menggunakan Git untuk Windows , ia memiliki banyak perintah Unix)
Tambahkan ini
hosts
Untuk menyingkirkan bagian port
:3000
mengatur NGINX, misalnya.sumber
Klik di sini Proyek Kode ! Contoh proyek Code-nya. Ini bekerja untuk saya
sumber
Sebagian besar waktu terjadi dengan tidak memasukkan URL pengalihan OAuth yang valid dan tepat di bagian produk dari dasbor FB. Saya sarankan ikuti langkah-langkah saya di bawah ini
01. Periksa pengaturan dasar aplikasi apa-apa dengan gambar di bawah ini dengan Anda
02. periksa apakah Anda telah menambahkan produk
Jika tidak, Anda dapat dengan mudah menambahkan produk masuk dengan mengklik + sinus seperti yang saya tunjukkan di bawah ini.
Jika Ya baru saja masuk ke dalam pengaturan produk.
03. Periksa apakah Anda telah memberikan URL pengalihan OAuth yang valid
Sederhana artinya apa yang harus setelah login. Tidak lain dari itu, panggilan Anda kembali ke URl. Anda dapat melihat di gambar bawah saya, saya telah menambahkan beberapa URL pengalihan.
sumber
Facebook baru-baru ini menonaktifkan tombol sakelar untuk ' Gunakan Mode Ketat untuk Mengarahkan URI ', jadi Anda perlu menambahkan URI yang tepat apa yang dipanggil ketika Anda menekan tombol masuk. Untuk kasus saya itu seperti yang ditunjukkan pada tangkapan layar. Itu memecahkan masalah untuk saya :)
sumber
Saya memiliki masalah yang sama,
Saya baru saja menambahkan tautan alamat lokal saya http: //localhost/Facebook%20Login%20Test.html ke
Site URL
dalam pengaturan aplikasi saya https://developers.facebook.com/apps .Sekarang berfungsi dengan baik :) Saya harap ini berguna;)
sumber
Dalam kasus saya, hal yang harus saya lakukan hanyalah mengaktifkan Login OAuth Browser Tertanam
sumber
Tidak ada yang benar-benar bekerja untuk saya, sampai saya memperbarui versi SDK yang saya gunakan. Saya mulai dengan 5.0. Bahkan 5.4.0 tidak akan berfungsi juga. Ketika saya memperbarui ke 5.6.2, ia bekerja dengan sempurna, meskipun tidak ada apa-apa di changelog yang relevan!
sumber
Opsi ini harus diaktifkan di portal:
sumber
Dalam hal ini membantu orang lain, ini mulai terjadi pada saya di situs yang lebih tua ketika "Valid OAuth Redirect URIs" menjadi wajib. Situs itu masih menggunakan V4 PHP SDK dan masalahnya telah teratasi bagi saya dengan memutakhirkan ke V5 SDK.
sumber
Di bagian App domain, Anda menulis domain aplikasi Anda tetapi Anda juga perlu menambahkan domain login Anda, yaitu nama halaman html tempat Anda meminta pengguna untuk login. Dalam kasus saya, saya mengujinya di localhost dan rute masuknya adalah localhost / login, Jika saya hanya memasukkan http://localhost.com di bagian App domain, saya mendapatkan kesalahan ini. Tetapi setelah menambahkan http: //localhost/login.com , kesalahan diperbaiki. dan juga pengaturan Aplikasi telah berubah dalam versi SDK yang lebih baru, di mana tidak ada opsi untuk rute pengalihan OAuth. Anda harus menetapkan rute pengalihan langsung dari sisi server, setelah berhasil mendapatkan token OAuth.
sumber
Ini bekerja untuk saya:
Inilah hal utama yang harus dipahami: Facebook akan selalu memeriksa domain " WWW ". Jadi pastikan www.domain_anda.dev berfungsi di browser Anda terlebih dahulu.
Ada kemungkinan bahwa jika Anda memiliki beberapa host virtual di server lokal Anda, beberapa host virtual lain menimpa " www.domain_anda.dev ". Jadi tolong periksa itu. Apache akan memilih definisi domain PERTAMA (atau port, atau sesuatu dalam istilah ini - saya bukan ahli dalam hal ini, tetapi belajar dari kesalahan). Perbaikan cepat yang mudah untuk penggantian host virtual ini adalah dengan meletakkan " www.your_domain.dev definisi virtual host di bagian paling atas dari file" httpd-vhosts.conf ".
Buka " /apache/conf/https-vhosts.conf " dan letakkan ini di bagian paling atas file:
Berikutnya: Jika Anda menggunakan sistem Windows, edit file "host" di "C: \ Windows \ System32 \ drivers \ etc" dengan menambahkan dua baris:
Berikutnya: Mulai ulang server Apache Anda dan semuanya akan berfungsi sekarang.
Saya harap ini akan membantu Anda dan menghemat waktu Anda. Saya menghabiskan hampir sepanjang hari mencari-cari di web dan mencabut rambut saya dan tidak dapat menemukan sesuatu yang membantu sampai saya menemukan ini.
sumber
Saya memiliki masalah yang sama ..... issu dalam versi PHP SDK 5.6.2 dan perbaikannya mengedit file berikut:
facebook\src\Facebook\Helpers\FacebookRedirectLoginHelper.php
ubah baris ini
$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code']);
untuk
$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code','enforce_https']);
sumber
Kesalahan Facebook yang sama ini terjadi pada saya di lingkungan Produksi. Alasannya adalah saya memiliki 2 aplikasi yang terdaftar di Facebook (Lokal, Produksi) tetapi saya mengubah kode aplikasi ID lokal menjadi kode sumber dan lupa untuk mematikannya untuk ID aplikasi Produksi sebelum penyebaran.
Praktik terbaik mengharuskan Anda untuk tidak memiliki ID aplikasi yang telah dikodekan ke dalam kode sumber, tetapi jika ya, jangan salah mencocokkan berbagai ID aplikasi Facebook Anda seperti yang saya keliru lakukan.
sumber
Menggunakan server lokal saya sendiri.
Cukup tambahkan
http://localhost/my-site
sebagai URL di:https://developers.facebook.com/apps/YOUR-APP-ID/fb-login/
bekerja untukku.
sumber
Masalahnya, dan jawabannya, terus berubah saat FB memperketat prosedur login. Hari ini, saya mulai menerima pesan horor ini "Domain URL ini tidak termasuk dalam domain aplikasi. Untuk dapat memuat URL ini, tambahkan semua domain dan subdomain aplikasi Anda ke bidang App Domains di pengaturan aplikasi Anda."
Jawabannya adalah: sekarang FB menginginkan uri pengalihan penuh. Jadi bagi saya, yang dulu hanya https://www.example.com sekarang ingin https://www.example.com/auth/facebook/callback . Ini harus masuk dalam bidang "Valid OAuth redirect URIs" (pengaturan Developer / Facebook login->)
sumber
Login Facebook -> Pengaturan -> Valid OAuth redirect URI -> masukkan domain url redirect Anda, ingat Anda harus menambahkan 'https' atau http. mis: jika url redirect Anda adalah https://xxx.xxx.com/path/callback.do , Anda hanya perlu memasukkan https://xxx.xxx.com/ , tidak apa-apa bagi saya.
sumber
langkah pertama: gunakan semua https://example.in atau ssl URL sertifikat, jangan gunakan http://example.in
langkah kedua: pengaturan aplikasi faceboook-> pengaturan dasar-> tambahkan domain atau subdomain Anda
langkah ketiga: pengaturan login aplikasi faceboook-> Valid OAuth Redirect URIs-> tambahkan semua url redirect Anda setelah login
langkah keempat: pengaturan aplikasi faceboook-> pengaturan lanjutan-> Manajer Domain-> tambahkan nama domain Anda
lakukan semua langkah ini kemudian gunakan id aplikasi Anda, versi aplikasi, rahasia aplikasi untuk pengaturan
sumber
pada ekstensi Login Sosial Magento 2, Anda harus menyalin URI redirect OAuth valid dari panel dan menambahkan tautan ke bidang URI Redirect OAuth Valid di halaman Pengaturan OAuth Klien di developers.facebook.com
sumber
Jika game Anda tidak memiliki server / situs (mis. Jika Anda mengembangkan untuk Gameroom seperti saya) - tambahkan " https://apps.facebook.com/xxxxxxxxxxxxxxxxx " (masukkan ID aplikasi Anda alih-alih "xxxxxxxxxxxx") ke "URIuth Redirect URIs yang valid ".
sumber
Sebagian besar jawabannya ada di sekitar menambahkan URL ke domain aplikasi, tetapi ketika bekerja di perusahaan Anda tidak memiliki akses ini. Untuk itu, Anda dapat memotong ini dengan hanya membuat host virtual dan membuat entri host.
tambahkan ini di file host (/ etc / hosts) 127.0.0.1 www.your_domain.com
membuat virtual host. Saya telah menggunakan ini untuk virtual host apache
ServerAdmin webmaster @ localhost ServerName www.your_domain.com
sumber