15

Khi thực hiện yêu cầu xác thực tới API Google (gapi), nó trả về false trên sécOrigin.Xác thực Google API: Không xuất xứ hợp lệ cho khách hàng

Tôi đã xóa bất kỳ id ứng dụng khách hoặc bất kỳ thứ gì liên kết trực tiếp đến tài khoản của tôi và thay thế bằng regex cho biết dữ liệu là gì để tham khảo.

Url: https://accounts.google.com/o/oauth2/iframerpc?action=checkOrigin&origin=https%3A%2F%2Flocal.tools&client_id=(\d{21})

url nguồn gốc của tôi là một url địa phương, đó là https://local.tools

Kết quả: {valid: false}

Tôi đang sử dụng ví dụ tìm thấy ở đây mà không bị lệch (trừ thay thế ClientID với tôi 21 chữ số clientid): https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/

Các mục tôi đang cố gắng hiển thị hiển thị độc đáo trên trang demo, nhưng không vượt qua được Không hợp lệ origi n cho lỗi máy khách trên trang web local.tools của tôi.

+0

và "https://local.tools" được định cấu hình trong bảng điều khiển API và máy chủ cục bộ của bạn đang chạy trên cổng 80? Hãy thử chỉnh sửa/etc/hosts của bạn để trỏ URL trang demo của bạn đến 127.0.0.1 và xem điều gì xảy ra. – pinoyyid

+0

Không có gì tốt đẹp sẽ xảy ra vì môi trường phát triển của tôi không có trên 127.0.0.1. Nó cũng không quan trọng những gì nó đang chạy trên cổng. Nó có thể được sử dụng trên các cổng khác ngoài cổng 80. –

Trả lời

23

Tôi nhận được thông báo lỗi giao diện điều khiển tương tự khi làm việc với các ví dụ sau: https://developers.google.com/analytics/devguides/reporting/embed/v1/getting-started

Các tài liệu nói rằng không nên bỏ qua hai bước quan trọng ("Khi bạn đi qua các hướng dẫn, điều quan trọng là bạn không bỏ qua hai bước quan trọng : Bật API Analytics [&] Đặt nguồn gốc chính xác "), nhưng không nêu rõ WHERE để đặt nguồn gốc chính xác.

Vì ID khách hàng tôi đã không hoạt động, tôi đã tạo một dự án mới và ID khách hàng mới. Dự án mới có thể không cần thiết, nhưng tôi đang giữ lại (và sử dụng) nó.

Đây là những gì làm việc:

Khi tạo thông tin xác thực, bạn sẽ thấy phần có tên "Hạn chế Nhập nguồn gốc JavaScript, URI chuyển hướng hoặc cả hai". Đây là nơi bạn có thể nhập nguồn gốc của bạn.

Lưu và sao chép ID khách hàng của bạn (và bí mật).

Tập lệnh của tôi hoạt động sau khi tôi tạo chứng chỉ OAUTH mới, gán nguồn gốc và sử dụng ID khách hàng mới được tạo sau quá trình này.

+1

Vâng, đó là những gì tôi cần. Cảm ơn bạn! Có vẻ như nó nên được hiển nhiên bây giờ, nhưng các tài liệu là một chút khó khăn để làm theo. –

+0

nếu tôi thử nghiệm với máy chủ cục bộ, làm cách nào để thêm oauth vào đó? ví dụ: Nếu tôi cần truy cập http: // localhost: 9000/en/login –

+0

Bạn không cần phải lo lắng về việc gọi lại oAuth. Khi bạn sử dụng ví dụ được đưa ra, có một nút nhỏ có nội dung gì đó nằm dọc dòng "google Authenticate" hoặc tôi không nhớ. Nhưng nó ở đó và bạn click vào nó và một cửa sổ popup xuất hiện để xác thực. Thêm tên miền của tôi vào nguồn gốc là những gì tôi cần làm, kể cả sau khi tải mẫu lên máy chủ. Tôi đã phải thêm URL máy chủ vào miền gốc. –

2

Đối với tôi - Tôi chỉ cần đi ở đây:

https://console.developers.google.com/apis/credentials

Sau đó, chọn dự án đúng; sau đó chọn thông tin đăng nhập có cùng ID được hiển thị trong thông báo lỗi bảng điều khiển của bạn. Khi chỉnh sửa thông tin đăng nhập, bạn có thể thêm nhiều nguồn gốc vào danh sách trắng.

2

Thông tin xác thực không hoạt động nếu API không được bật.Trong trường hợp của tôi các bước tiếp theo là cần thiết:

  1. Đến https://console.developers.google.com/apis/library
  2. Nhập 'dân'
  3. Từ kết quả để chọn 'dân API của Google'
  4. Nhấp vào 'Enable'
3

Xóa bộ nhớ cache của trình duyệt. Bắt đầu gặp lỗi này trong Chrome và sau đó tôi đã tạo id ứng dụng khách mới và vẫn gặp sự cố. Đã mở firefox và nó hoạt động, vì vậy tôi xóa bộ nhớ cache trên Chrome và nó bắt đầu hoạt động.

Các vấn đề liên quan