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?


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.


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.


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


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.


9

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

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


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


6

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


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.


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


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.


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.


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


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',
],

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.


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


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.


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.


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.


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.



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.


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/


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.


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.