invalid_client di google oauth2

87

Saya mencoba membuat halaman web untuk upload video youtube, oleh karena itu saya mencoba mendapatkan id klien dari konsol google api, dan di konsol api itu menunjukkan sesuatu seperti ini:

Client ID: 533832195920.apps.googleusercontent.com
Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php
https://developers.google.com/oauthplayground

Namun ketika saya mencoba untuk menguji akun saya menggunakan URL berikut:

https://accounts.google.com/o/oauth2/auth?client_id=533832195920.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Fbobyouku.ap01.aws.af.cm%2Ftestyoutube.php&scope=https%3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fyoutube & response_type = code & access_type = offline

Ini memberikan hasil invalid_client. Bahkan ketika saya mencobanya di oauth2 playground, kegagalan yang sama terjadi

Jadi ada yang tahu apa yang terjadi?

Bob
sumber
8
Saya menemukan bahwa terkadang id klien oauth2 tidak berfungsi. Saya tidak tahu mengapa, tetapi ketika saya membuka akun baru dan membuat id klien lagi, itu berhasil.
Bob
3
Bob benar, membuat id klien memecahkan masalah ini
Gabo Esquivel
11
Pastikan saat menyalin / menempelkan id klien Anda tidak menyertakan spasi tambahan. Itu berhasil bagi saya ...
dan
1
bagi saya, saya membuat ulang rahasia klien dan menggunakannya untuk berhasil. Sepertinya api masih tidak stabil.
Muhammad Talal

Jawaban:

113

Setel / ubah nama produk Anda, saya mengalami masalah ini sampai saya membuat nama produk yang sama dengan nama proyek.

Nama produk dapat disetel di bagian layar Persetujuan di Google Developers Console untuk proyek Anda. Lihat di bawah API & autentikasi di navigasi kiri dan pilih layar Persetujuan. Anda juga perlu mengatur alamat email Anda di kotak di atas nama produk.

jojay
sumber
4
Terima kasih!! Saya mendapatkan kesalahan "" Kesalahan: invalid_client. Klien OAuth tidak ditemukan. "Hari ini terbuang beberapa jam, tetapi baru saja memperbarui nama produk dan hey-presto, masalah diperbaiki. Kesalahan itu sangat menyesatkan.
IanB
2
Apa nama produknya
Hubert OG
4
Itu ada di layar persetujuan. Anda harus mengisi kolom 'PRODUCT NAME'
Foo L
2
Ini berhasil. Singkatnya: setel bidang 'PRODUCT NAME' DAN 'EMAIL ADDRESS'.
b_archer
2
Terima kasih! Menyelamatkan hariku! Dan saya harus mengatakan, dari semua penyedia sosial Google memiliki dokumen yang lebih buruk dan UI yang paling buruk. Ini sangat membingungkan dan membingungkan bersama dengan navigasi yang buruk. Saya hampir selalu lupa bagaimana pergi ke halaman konfigurasi proyek lol.
tintinboss
69

Setelah menyalin nilai dari UI web Google, saya memiliki ruang kosong untuk:

  • client_id
  • secret

Dan di AWAL dan AKHIR untuk keduanya.

Rael Gugelmin Cunha
sumber
2
Masalah ini masih berlanjut: P
Abhinay
1
Luar biasa, bahkan saat mengklik tombol "salin" di konsol API ... Anda akan mengira area pengembang Google akan peka terhadap spasi!
Reisclef
Luar biasa juga di sini. Hapus spasi ekstra di kedua sisi string. Kemudian jika setelah mengikuti semua yang telah dikatakan di sini dan tidak ada yang masih berfungsi, hapus aplikasi / proyek dan buat ulang lagi karena mungkin ada masalah cache.
eigenfield
1
Ya, masalahnya masih ada !!! Sialan. Saya menghilangkan satu spasi dan tidak melihatnya sampai pemeriksaan ulang. Terima kasih.
LukasS
1
menisik! Saya melihat ruang di bagian akhir dan menghapusnya tetapi tidak memeriksa ruang di awal.
sulabh
41

Pangkas ruang putih di depan dan di belakangnya dari client_iddan client_secret. Tombol salin Google tidak melakukan ini untuk Anda.

masukkan deskripsi gambar di sini

Setel bidang alamat email dan nama produk untuk layar persetujuan OAuth.

masukkan deskripsi gambar di sini

Shaun Luttin
sumber
3
Anda mungkin tidak boleh membiarkan rahasia klien Anda terungkap dalam jawaban seperti itu.
Fernando
1
@Fernando Ini akun sekali pakai.
Shaun Luttin
Fiuh. Apakah saya khawatir di sana Shaun: D
Fernando
3
Bagaimana Anda bisa sampai ke layar ini?
Anthony Kong
2
"Buang akun" - bukan untuk Google, yang melacak Anda dan menggabungkan semua akun yang pernah Anda gunakan ke "akun terkait". Dan begitu Google melarang salah satu akun - seluruh paket diblokir. Cukup cari "Akun Pengembang Google dihentikan" di Reddit .
Alexander Farber
16

Menyetel ALAMAT EMAIL dan NAMA PRODUK di layar persetujuan konsol pengembang Google, mengatasi kesalahan "Kesalahan: invalid_client. Klien OAuth tidak ditemukan." untuk saya.

S. Roshanth
sumber
9

Saya memiliki .apps.googleusercontent.com dua kali di ID saya.

Itu adalah masalah salin dan tempel "ID Anda DI SINI" .apps.googleusercontent.com

Chris Carr
sumber
5
Punyaku adalah ruang kosong yang tersisa di kedua ujungnya: /
Christian
Terima kasih Chris. Itu membantu saya.
Kiran Pawar
7

di utas ini saya menemukan jawaban saya.

  1. Saya pergi ke konsol google,
  2. menghasilkan proyek baru, membuat penyegaran, karena dalam kasus saya setelah membuat halaman tidak memuat ulang
  3. pilih proyek baru
  4. buat ID klien
  5. gunakan untuk apa yang Anda butuhkan

thanks guys: D

Pedro Romão
sumber
6

invalid_client juga bisa berarti bahwa ID klien dan rahasia klien Anda salah saat Anda membuat objek Oauth2.

jdcaron.dll
sumber
5

Dalam kasus saya ini ternyata sesuatu yang lain, yaitu kode saya menggunakan variabel lingkungan yang belum diatur dengan benar (dan bodohnya tidak diperiksa oleh kode saya). Menyetelnya, mengompilasi ulang aset, dan memulai ulang aplikasi melakukan triknya.

Josh Diehl
sumber
1
Sama disini; Saya telah mengaturnya tetapi lupa untuk memulai ulang terminal saya
quicklikerabbit
5

Jika Anda mengikuti dokumentasi, dari halaman ini https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

Anda akan melihat

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">

Tapi itu salah. Harus

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">

Masalahnya adalah bahwa '.apps.googleusercontent.com' tetap ditambahkan. Jika Anda melakukannya seperti yang dikatakan dalam dokumentasi, Anda mendapatkan '.apps.googleusercontent.com' dua kali

aaronvargas
sumber
Terima kasih banyak. Menggantinya seperti yang Anda sarankan berhasil.
Pavan Dittakavi
4

Saya menyelesaikan ini dengan menghapus kutipan yang tidak perlu dari nilai clientID dan clientSecret saya.

OsoGrizz
sumber
Anda tuan / nyonya adalah legenda! Saya menghapus kutipan dari variabel lingkungan Heroku saya.
grabury
2

Apakah kesalahan juga melaporkan bahwa ada nama aplikasi yang hilang? Saya mengalami masalah ini sampai saya membuat nama proyek (misalnya "Proyek X") dalam dialog pengaturan proyek.

random_stackoverflow_user
sumber
2

mungkin kredensial lama tidak valid

lihat jawabannya di bawah ini

jawaban stackoverflow

atau nama pendek bisa digunakan

lihat jawaban di bawah jawaban stackoverflow

atau nama produk sama dengan nama proyek seperti yang sudah dijawab

kadang-kadang seseorang mungkin menyertakan ruang ekstra di

periksa dua kali baris ini sehingga Anda diarahkan ke url yang benar

Charles Dominic
sumber
1

Saya memecahkan masalah saya dengan trim:

'google' => [
    'client_id' =>trim('client_id),
    'client_secret' => trim('client_secret'),
    'redirect' => 'http://localhost:8000/login/google/callback',
],
parastoo amini
sumber
0

Periksa nama Proyek Anda di konsol Google API. Anda memilih proyek lain yang Anda buat. Saya adalah kesalahan yang sama. kesalahan saya adalah memilih proyek yang berbeda.

Dio Blando
sumber
0

Di Kredensial Terima permintaan dari perujuk HTTP ini (situs web) (Opsional) Gunakan tanda bintang sebagai karakter pengganti. Jika Anda membiarkan ini kosong, permintaan akan diterima dari perujuk mana pun. Pastikan untuk menambahkan perujuk sebelum menggunakan kunci ini dalam produksi. Tambahkan . (bintang titik bintang). Ini bekerja dengan baik untuk saya

HuyLe
sumber
0

Saya tidak sengaja memiliki nilai di bagian Rahasia Klien pada URL, tetapi Kredensial Google tidak memerlukan Rahasia Klien untuk ID Klien OAuth 2 Android. Cukup mengosongkan nilai di URL sudah melakukan trik bagi saya.

Jason Washo
sumber
0

Langkah-langkah yang berhasil untuk saya:

  1. Hapus kredensial yang tidak berfungsi untuk Anda
  2. Buat kredensial baru dengan beberapa NAME
  3. Isi NAMA yang sama di layar persetujuan OAuth Anda
  4. Isi alamat email di layar persetujuan OAuth

Namanya harus sama persis.

syntagma
sumber
0

Hal lain yang perlu diperiksa:

Saat Anda menginstal GoogleAPI ke dalam aplikasi .Net dengan NuGet, ini akan memasukkan sekumpulan nilai dummy baru di file * .config Anda.

Periksa apakah nilai asli masih ada, dan hapus entri tiruan.

Iain Ballard
sumber
0

Tidak satu pun dari hal berikut ini yang menjadi masalah saya - Saya menyelesaikannya dengan membuka jendela penyamaran. Sesuatu jelas sedang di-cache di suatu tempat, tidak ada perubahan pengaturan klien autentikasi yang membantu dan tidak pernah ada spasi tambahan atau spasi di awal dalam nilai konfigurasi.

ninja berjubah
sumber
0

Menghapus ID klien dan membuat yang baru beberapa kali berhasil untuk saya.

Haris ur Rehman
sumber
0

Milik saya tidak berfungsi karena saya membuatnya dari tombol dari dokumentasi. Saya pergi lagi ke proyek dan membuat OAuthClientID lain. Berhasil. Ya, berhati-hatilah dengan ruang ekstra di kanan dan kiri juga.

Hemant Sharma
sumber
0

Untuk hasil terbaik pastikan Anda memiliki detail lengkap sebagai berikut:

{"client_id":"282324738-4labcgdsd4nlh34885s2d34tmi.apps.googleusercontent.com","project_id":"abcd23ss-212808","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://www.googleapis.com/oauth2/v3/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"23452-dfgdfgcdfgfd","redirect_uris":["http://localhost:6900/auth/google/callback"],"javascript_origins":["http://localhost:6900"]}

Data ini selalu tersedia untuk diunduh sebagai JSON dari https://console.developers.google.com/apis/credentials/oauthclient/

Abhay Shiro
sumber
0

Jika Anda menggunakan Meteor JS, Anda harus menggunakan clientId sebagai gantinya appId :

Karena facebook menggunakan appId dan google clientId.

ServiceConfiguration.configurations.upsert({
    service: "google"
}, {
    $set: {
        clientId: process.env.OAUTH_GOOGLE_APP_ID,
        loginStyle: "popup",
        secret: process.env.OAUTH_GOOGLE_SECRET
    }
});

Saya menghabiskan beberapa jam untuk menyadarinya.

Ivan Cabrera
sumber
0

Saya berharap saya telah melihat posting ini sebelumnya, karena ada banyak hal yang harus saya cari tahu coba-coba. Banyak yang bisa salah dengan ini. Ini masalah lain yang saya alami:

Saat Anda menentukan Asal Javascript Resmi atau URI pengalihan resmi, pastikan untuk menyertakan domain Anda dengan dan tanpa www. Jadi https://google.com dan https://www.google.com

Saya juga telah mengunggah logo Aplikasi. Karena itu, layar persetujuan membutuhkan tinjauan ... yang memakan waktu lama. Jangan mengunggah logo Aplikasi, atau bersabarlah.

eliud
sumber