7

Chúng tôi đang gặp sự cố khi tạo mã thông báo truy cập bằng cách sử dụng OAuth2 Service Account cho người dùng thị trường Google Apps. Mã thông báo được tạo ở đây sẽ được sử dụng để truy cập API của Google (API danh bạ, lịch, thư, SDK quản trị) và do đó tất cả tích hợp Google trong Dịch vụ của chúng tôi đều không thành công. Điều này đã bắt đầu thất bại đột ngột từ ngày 8 tháng 3 8 giờ sáng theo giờ PST. Bạn có thể coi đây là ưu tiên cao và cho chúng tôi biết lý do của sự cố hoặc nếu chúng tôi bỏ lỡ điều gì đó ở đây. Chúng tôi đang nhận được phản ứng API nhưSự cố khi tạo mã thông báo truy cập bằng Tài khoản dịch vụ OAuth2

{ "error": "invalid_request" } 

Vui lòng xem yêu cầu bên dưới mẫu với tất cả các tiêu đề và params cho 2 yêu cầu mẫu cho "https://www.googleapis.com/oauth2/v4/token '(như trong tài liệu) và' https://accounts.google.com/o/oauth2/token" điểm cuối. Cả hai kết quả là một thông báo lỗi với câu trả lời {"error": "internal_failure", "error_description": "Invalid Value"} và {"error": "invalid_request"} tương ứng.

P.S: Địa chỉ email dịch vụ, tệp khóa cá nhân được sử dụng để tạo chữ ký dưới đây trong các yêu cầu mẫu hoạt động nếu chúng tôi sử dụng thư viện Google Client tương ứng. Nhưng chúng tôi đang sử dụng các API REST của Google. Chúng tôi đã tạo một ứng dụng mẫu trong bảng điều khiển API của Google để thử nghiệm với các chi tiết tài khoản dịch vụ mới và kết quả này trong cùng một ngoại lệ.

URL:

https://www.googleapis.com/oauth2/v4/token

Headers:

Content-Type: application/x-www-form-urlencoded

BODY:

grant_type = urn% 3Aietf% 3Aparams% 3Aoauth% 3Agrant-type% 3Ajwt-bearer & khẳng định = eyJ0eXAiO . IJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9vYXV0aDIvdjQvdG9rZW4iLCJzdWIi OiJqYWdzQHNvbHV0aW9udGVzdC5jb20iLCJzY29wZSI6Imh0dHBzOi8vbWFpbC5nb29nbGUuY29t LyIsImlzcyI6IjQ2OTU3MTY1OTAxNUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV4 cCI6MTQ1NzU5NTkwMCwiaWF0IjoxNDU3NTkyMzAwfQ == VrsqS0nYSUVZn_SwMi7UJEYLDqRcWLzPrF9o6av-t1IYZbRkTybEdcnwWeUfnYXl_F88gFTllmRg LSTBahM5gqpZrEAaWrRiDEVTo6rcN3hWm7MHcmZbwgdJB8B0ObV0Ivp5aTdLC5HcqsOumJvYpDCF SyGU8StSg9pDujERzOo =

đáp ứng:

mã: 400 { "lỗi": "internal_failure", "ERROR_DESCRIPTION": "Giá trị không hợp lệ" }

URL:

https://accounts.google.com/o/oauth2/token

Headers:

Content-Type: application/x-www-form-urlencoded

BODY :

grant_type = urn% 3Aietf% 3Aparams% 3Aoauth% 3Agrant-type% 3Ajwt-bearer & assertion = eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.. EyJhdWQiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9vYXV0aDIvdjQvdG9rZW4iLCJzdWIi OiJqYWdzQHNvbHV0aW9udGVzdC5jb20iLCJzY29wZSI6Imh0dHBzOi8vbWFpbC5nb29nbGUuY29t LyIsImlzcyI6IjQ2OTU3MTY1OTAxNUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV4 cCI6MTQ1NzU5NTkwMCwiaWF0IjoxNDU3NTkyMzAwfQ == VrsqS0nYSUVZn_SwMi7UJEYLDqRcWLzPrF9o6av-t1IYZbRkTybEdcnwWeUfnYXl_F88gFTllmRg LSTBahM5gqpZrEAaWrRiDEVTo6rcN3hWm7MHcmZbwgdJB8B0ObV0Ivp5aTdLC5HcqsOumJvYpDCF SyGU8StSg9pDujERzOo =

đáp ứng:

mã: 400 { "lỗi": "invalid_request" }

EDIT: Yêu cầu mẫu như trong documentation. Mã này đã làm việc cho chúng tôi trong 2 năm qua và đột nhiên nó ngừng hoạt động ngày hôm qua.

POST/OAuth2/v4/thẻ HTTP/1.1 Host: www.googleapis.com Content-Type: application/x-www-form-urlencoded

grant_type = urn% 3Aietf% 3Aparams% 3Aoauth% 3Agrant kiểu% 3Ajwt-bearer & khẳng định = eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI3NjEzMjY3OTgwNjktcjVtbGpsbG4xcmQ0bHJiaGc3NWVmZ2lncDM2bTc4ajVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvcHJlZGljdGlvbiIsImF1ZCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsImV4cCI6MTMyODU3MzM4MSwiaWF0IjoxMzI4NTY5NzgxfQ.ixOUGehweEVX_UKXv5BbbwVEdcz6AYS-6uQV6fGorGKrHf3LIJnyREw9evE-gs2bmMaQI5_UbabvI4k-mQE4kBqtmSpTzxYBL1TCd7Kv5nTZoUC1CmwmWCFqT9RE6D7XSgPUh_jF1qskLa2w 0rxMSjwruNKbysgRNctZPln7cqQ

+0

Câu hỏi tìm kiếm trợ giúp gỡ lỗi ("tại sao mã này không hoạt động?") Phải bao gồm hành vi mong muốn, một vấn đề hoặc lỗi cụ thể và mã ngắn nhất cần thiết để tái tạo nó trong chính câu hỏi đó. Xem: Cách tạo ví dụ tối thiểu, đầy đủ và có thể xác minh. – DaImTo

+0

@DalmTo Câu hỏi của tôi nêu rõ rằng chúng tôi đang gặp sự cố khi tạo mã thông báo truy cập từ liên kết tài liệu được cung cấp https://developers.google.com/identity/protocols/OAuth2ServiceAccount#makingrequest Nhưng chúng tôi thấy thông báo lỗi là "{" error ":" invalid_request "}" – Jagadeesh

+0

Tạo một đoạn mã ví dụ nhỏ không thành công và đăng để chúng tôi có thể giúp bạn gỡ lỗi. Không nhìn thấy mã của bạn, không ai có thể giúp bạn khắc phục nó. – DaImTo

Trả lời

0

Nó hoạt động sau khi thay đổi phần mã hóa sun.misc.BASE64Encoder trong mã của tôi để tạo mã thông báo jwt.

byte[] encode = BASE64Encoder.encode(data).replaceAll("\n", "").getBytes(); 

(hoặc)

Thay đổi phần mã hóa BASE64Encoder của bạn trong khi tạo thẻ JWT từ sun.misc.BASE64Encoder để org.apache.commons.codec.binary.Base64 như

Base64 encoder = new Base64(); 
byte[] encode = encoder.encodeBase64(data); 

Add ý kiến ​​nếu bạn có ai cần bất kỳ làm rõ.

Giải pháp này do Google cung cấp.

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