invalid_client trong google oauth2


87

Tôi cố gắng tạo một trang web để tải lên video trên youtube, do đó tôi cố gắng lấy id ứng dụng khách từ bảng điều khiển api của google và trong bảng điều khiển api, nó hiển thị một cái gì đó như sau:

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

Tuy nhiên, khi tôi cố gắng kiểm tra tài khoản của mình bằng URL sau:

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

Nó đưa ra kết quả là invalid_client. Ngay cả khi tôi thử nó trên sân chơi oauth2, vẫn xảy ra lỗi tương tự

Vậy có ai biết chuyện gì đang xảy ra không?


8
Tôi nhận thấy rằng đôi khi id ứng dụng oauth2 không hoạt động. Tôi không biết tại sao, nhưng khi tôi mở tài khoản mới và tạo lại id khách hàng, nó vẫn hoạt động.
Bob

3
Bob đúng, việc tạo id ứng dụng sẽ giải quyết được vấn đề này
Gabo Esquivel

11
Đảm bảo rằng khi sao chép / dán id khách hàng, bạn không bao gồm dấu cách ở cuối. Điều đó đã làm các trick cho tôi ...
andig

1
đối với tôi, tôi đã tạo lại bí mật của khách hàng và sử dụng nó hoạt động. Có vẻ như api vẫn chưa ổn định.
Muhammad Talal,

Câu trả lời:


113

Đặt / thay đổi tên sản phẩm của bạn, tôi gặp sự cố này cho đến khi tôi tạo tên sản phẩm giống như tên dự án.

Tên sản phẩm có thể được đặt trong phần màn hình Đồng ý của Google Developers Console cho dự án của bạn. Xem bên dưới API & auth trong điều hướng bên trái và chọn màn hình Đồng ý. Bạn cũng cần đặt địa chỉ email của mình trong hộp phía trên tên sản phẩm.


4
Cảm ơn bạn!! Tôi gặp lỗi "" Lỗi: invalid_client. Không tìm thấy ứng dụng khách OAuth. "Đã mất vài giờ hôm nay cho việc này, nhưng đã cập nhật tên sản phẩm ngay bây giờ và hey-presto, sự cố đã được khắc phục. Lỗi đó rất dễ gây hiểu nhầm.
IanB

2
Tên sản phẩm là gì?
Hubert OG

4
Nó nằm trong màn hình đồng ý. Bạn phải điền vào trường 'TÊN SẢN PHẨM'
Foo L

2
Điều này đã hiệu quả. Chỉ ngắn gọn: đặt cả hai trường 'TÊN SẢN PHẨM' 'ĐỊA CHỈ EMAIL'.
b_archer

2
Cảm ơn! Đã lưu ngày của tôi! Và tôi phải nói rằng, trong số tất cả các nhà cung cấp xã hội, Google có tài liệu tệ hơn và giao diện người dùng tệ nhất. Nó quá choáng ngợp và khó hiểu cùng với điều hướng tồi tệ của họ. Tôi hầu như luôn quên cách truy cập trang cấu hình dự án lol.
tintinboss

69

Sau khi sao chép các giá trị từ giao diện người dùng web của Google, tôi đã có một khoảng trống cho:

  • client_id
  • secret

Và lúc BẮT ĐẦUKẾT THÚC cho cả hai.


2
Sự cố này vẫn tiếp diễn: P
Abhinay

1
Không thể tin được, ngay cả khi nhấp vào nút "sao chép" trong bảng điều khiển API ... Bạn sẽ nghĩ khu vực dành cho nhà phát triển của Google sẽ nhạy cảm với khoảng trắng!
Reisclef

Không thể tin được cũng ở đây. Xóa những khoảng trắng thừa đó trên cả hai mặt của chuỗi. Sau đó, nếu sau khi làm theo tất cả những gì đã nói ở đây mà không có gì vẫn hoạt động, hãy xóa ứng dụng / dự án và tạo lại nó vì có thể có vấn đề về bộ nhớ đệm.
eigenfield

1
Yeap, vấn đề vẫn còn tồn tại !!! Khỉ thật. Tôi đã bỏ qua một khoảng trắng và không nhìn thấy nó cho đến khi kiểm tra lại. Cảm ơn.
LukasS

1
anh yêu! Tôi đã nhìn thấy khoảng trống ở cuối và xóa nó nhưng không kiểm tra khoảng trống ở đầu.
sulabh

41

Cắt bỏ khoảng trắng đầu và cuối từ cả dấu client_idclient_secret. Nút sao chép của Google không làm điều này cho bạn.

nhập mô tả hình ảnh ở đây

Đặt cả trường địa chỉ email và tên sản phẩm cho màn hình chấp thuận OAuth.

nhập mô tả hình ảnh ở đây


3
Bạn có lẽ không nên để lộ bí mật của khách hàng trong một câu trả lời như vậy.
Fernando

1
@Fernando Đó là một tài khoản vứt bỏ.
Shaun Luttin

Phù. Đã làm tôi lo lắng ở đó Shaun: D
Fernando

3
Làm thế nào bạn đến được màn hình này?
Anthony Kong

2
"Bỏ tài khoản" - không dành cho Google, theo dõi bạn và gộp tất cả các tài khoản bạn từng sử dụng thành "tài khoản được liên kết". Và khi Google cấm một trong các tài khoản - thì toàn bộ gói sẽ bị chặn. Chỉ cần tìm kiếm "Tài khoản nhà phát triển Google bị chấm dứt" trên Reddit .
Alexander Farber

16

Đặt ĐỊA CHỈ EMAIL và TÊN SẢN PHẨM trong màn hình đồng ý của bảng điều khiển dành cho nhà phát triển của Google, giải quyết được lỗi "Error: invalid_client. Không tìm thấy ứng dụng khách OAuth". cho tôi.


9

Tôi đã có .apps.googleusercontent.com hai lần trong ID của mình.

Đó là sự cố sao chép và dán "ID của bạn TẠI ĐÂY" .apps.googleusercontent.com


5
Của tôi là một khoảng trống còn lại ở hai đầu: /
Christian

Cảm ơn Chris. Nó đã giúp đỡ tôi.
Kiran Pawar

7

trong chủ đề này tôi đã tìm thấy câu trả lời của mình.

  1. Tôi đã truy cập bảng điều khiển của Google,
  2. tạo một dự án mới, thực hiện làm mới, vì trong trường hợp của tôi sau khi tạo trang không tải lại
  3. chọn dự án mới
  4. tạo một ID khách hàng
  5. sử dụng nó cho những gì bạn cần

cảm ơn các bạn: D


6

invalid_client cũng có thể đơn giản có nghĩa là ID khách hàng và bí mật khách hàng của bạn bị sai khi bạn tạo đối tượng Oauth2 của mình.


5

Trong trường hợp của tôi, điều này hóa ra là một cái gì đó khác, cụ thể là mã của tôi đã sử dụng một biến môi trường chưa được đặt đúng cách (và thật ngu ngốc là mã của tôi không được kiểm tra). Đặt nó, biên dịch lại nội dung và khởi động lại ứng dụng đã thực hiện một mẹo nhỏ.


1
Ở đây cũng vậy; Tôi đã thiết lập nó nhưng quên khởi động lại thiết bị đầu cuối của mình
quicklikerabbit

5

Nếu bạn làm theo tài liệu, từ trang này https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

bạn sẽ thấy

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

Nhưng nó sai. Nó nên được

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

Vấn đề là '.apps.googleusercontent.com' vẫn được thêm vào. Nếu bạn làm điều đó như tài liệu hướng dẫn, bạn nhận được '.apps.googleusercontent.com' hai lần


Cảm ơn rất nhiều. Thay đổi nó như bạn đã đề xuất đã thực hiện thủ thuật.
Pavan Dittakavi

4

Tôi đã giải quyết điều này bằng cách xóa các dấu ngoặc kép không cần thiết khỏi các giá trị clientID và clientSecret của mình.


Bạn là một huyền thoại! Tôi đã xóa các dấu ngoặc kép khỏi các biến môi trường Heroku của mình.
grabury

2

Lỗi cũng báo là thiếu tên ứng dụng? Tôi gặp sự cố này cho đến khi tôi tạo tên dự án (ví dụ: "Dự án X") trong hộp thoại cài đặt dự án.


2

có lẽ bằng chứng xác thực cũ không hợp lệ

xem câu trả lời bên dưới

câu trả lời stackoverflow

hoặc tên ngắn có thể hoạt động

xem câu trả lời bên dưới câu trả lời stackoverflow

hoặc tên sản phẩm giống với tên dự án như đã trả lời

đôi khi người ta có thể bao gồm thêm không gian trong

kiểm tra hai lần dòng này để bạn được chuyển hướng đến đúng url


1

Tôi đã giải quyết vấn đề của mình với trim:

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

0

Kiểm tra tên Dự án của bạn trên bảng điều khiển API của Google. bạn chọn một dự án khác mà bạn đã tạo. Tôi cùng một lỗi. sai lầm của tôi là chọn dự án khác nhau.


0

Tại Thông tin đăng nhập Chấp nhận yêu cầu từ các liên kết giới thiệu HTTP này (các trang web) (Tùy chọn) Sử dụng dấu hoa thị cho các ký tự đại diện. Nếu bạn để trống phần này, các yêu cầu sẽ được chấp nhận từ bất kỳ người giới thiệu nào. Đảm bảo thêm liên kết giới thiệu trước khi sử dụng khóa này trong sản xuất. Thêm . (dấu sao chấm sao). Nó làm việc tốt cho tôi


0

Tôi vô tình có một giá trị trong phần Bí mật ứng dụng của URL, nhưng Thông tin đăng nhập của Google không cần Bí mật ứng dụng đối với ID ứng dụng Android OAuth 2. Đơn giản chỉ cần để trống giá trị trong URL đã làm cho tôi khó khăn.


0

Các bước hiệu quả với tôi:

  1. Xóa thông tin đăng nhập không phù hợp với bạn
  2. Tạo thông tin đăng nhập mới với một số NAME
  3. Điền cùng một NAME trên màn hình chấp thuận OAuth của bạn
  4. Điền vào địa chỉ e-mail trên màn hình chấp thuận OAuth

Tên phải giống hệt nhau.


0

Một điều khác cần kiểm tra:

Khi bạn cài đặt GoogleAPIs vào ứng dụng .Net với NuGet, nó sẽ đưa vào một tập hợp giá trị giả mới trong tệp * .config của bạn.

Kiểm tra xem mọi giá trị ban đầu vẫn còn ở nguyên vị trí nào và xóa các mục nhập giả.


0

Không có vấn đề nào sau đây là vấn đề của tôi - Tôi đã giải quyết vấn đề này bằng cách mở cửa sổ ẩn danh. Một cái gì đó rõ ràng đang được lưu vào bộ nhớ cache ở đâu đó, không có việc thay đổi cài đặt ứng dụng khách auth nào giúp ích được gì và không bao giờ có bất kỳ khoảng trống nào ở cuối hoặc ở đầu trong các giá trị cấu hình.



0

Của tôi không hoạt động vì tôi đã tạo nó từ một nút trong tài liệu. Tôi quay lại dự án và tạo một OAuthClientID khác. Nó đã làm việc. Có, hãy cẩn thận về các khoảng trống thừa ở bên phải và bên trái.


0

Để có kết quả tốt nhất, hãy đảm bảo bạn có các chi tiết đầy đủ như sau:

{"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"]}

Dữ liệu này luôn có sẵn để tải xuống dưới dạng JSON từ https://console.developers.google.com/apis/credentials/oauthclient/


0

Nếu bạn đang sử dụng Meteor JS, bạn phải sử dụng clientId thay vì appId :

Vì facebook sử dụng appId và google clientId.

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

Tôi đã dành vài giờ để nhận ra điều đó.


0

Tôi ước tôi đã xem bài đăng này trước đây, bởi vì có rất nhiều thứ tôi phải tìm hiểu thử và sai. Rất nhiều điều có thể xảy ra với điều này. Đây là một vấn đề khác mà tôi gặp phải:

Khi bạn chỉ định nguồn gốc Javascript được ủy quyền hoặc URI chuyển hướng được ủy quyền, hãy đảm bảo bao gồm miền của bạn có và không có www. Vì vậy, https://google.comhttps://www.google.com

Ngoài ra, tôi đã tải lên một logo Ứng dụng. Do đó, màn hình chấp thuận yêu cầu xem xét ... điều này sẽ mất mãi mãi. Không tải lên biểu trưng Ứng dụng hoặc phải rất kiên nhẫn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.