Kiểm thử việc triển khai OAuth liên kết Tài khoản Google
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Công cụ kiểm thử xác thực OAuth của tính năng Liên kết Tài khoản Google kiểm thử cách triển khai OAuth của bạn để xác minh rằng Google có thể truy cập vào các điểm cuối và các điểm cuối đó đang trả về phản hồi dự kiến cho việc triển khai tính năng Liên kết Tài khoản Google hợp lệ.
- Nếu bạn chưa đăng nhập vào công cụ này, hãy đăng nhập bằng Tài khoản Google của bạn qua nút Đăng nhập.
Liên kết tài khoản của bạn bằng công cụ minh hoạ về cách liên kết Tài khoản Google. Bạn nên liên kết với chính tài khoản mà bạn đang chạy công cụ kiểm thử xác thực.
Nhập Mã dự án rồi nhấp vào nút Chạy. Mã này phải giống với Mã dịch vụ mà bạn đã dùng để liên kết tài khoản của mình trong bước trước.
Kiểm thử xác thực mã truy cập
Mã truy cập mà điểm cuối trao đổi mã thông báo trả về sẽ được xác thực để đảm bảo phản hồi ở đúng định dạng và mã làm mới hợp lệ được trả về.
Thử nghiệm |
Giải thích |
Xác thực mã truy cập không ở định dạng JWT |
Tính năng Liên kết tài khoản Google không hỗ trợ JWT cho mã thông báo truy cập. Nếu phát hiện JWT, cảnh báo sau sẽ xuất hiện:
The access token seems to be a JWT which is not supported for token exchange endpoints.
|
Xác thực mã truy cập có thể hết hạn có mã làm mới. |
Bạn phải cung cấp mã làm mới khi mã truy cập có thể hết hạn. Quy trình kiểm thử này sẽ không thành công nếu không tìm thấy mã làm mới. |
Làm mới kiểm tra xác thực mã thông báo
Chúng tôi sẽ kiểm tra mã làm mới để đảm bảo điểm cuối trao đổi mã thông báo của bạn đổi mã đúng cách để lấy mã truy cập mới.
Thử nghiệm |
Giải thích |
Xác thực phản hồi của mã làm mới không hợp lệ. |
Máy chủ của bạn sẽ trả về lỗi HTTP 400 Bad Request với {"error": "invalid_grant"} đối với yêu cầu mã thông báo làm mới không hợp lệ. Nếu phản hồi không khớp với mã lỗi hoặc thông báo thì trường hợp kiểm thử này sẽ không thành công. Truy cập vào phần trao đổi mã thông báo làm mới cho mã thông báo truy cập để biết thêm thông tin. |
Xác thực làm mới mã truy cập. |
Mã thông báo truy cập mới sẽ được trả về để phản hồi các yêu cầu làm mới mã thông báo. Nếu máy chủ của bạn cung cấp cùng một mã thông báo truy cập, thì trường hợp kiểm thử sẽ không thành công. |
Xác thực mã thông báo truy cập chưa hết hạn. |
|
Xác thực mã làm mới không được xoay trong quá trình làm mới. |
Chúng tôi kiểm tra xem mã thông báo làm mới có thay đổi sau khi yêu cầu mã thông báo làm mới hay không. Nếu mã làm mới thay đổi, máy chủ của bạn chỉ nên vô hiệu hoá mã làm mới cũ sau khi đã sử dụng mã làm mới mới. Việc này là để ngăn các tình huống tương tranh có thể phá vỡ quá trình liên kết tài khoản của người dùng. Thử nghiệm sẽ không thành công nếu bạn vô hiệu hoá mã làm mới cũ trước khi mã mới được phát hành. |
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eThe Google Account Linking OAuth validation test tool helps ensure your implementation is compatible with Google's requirements by verifying endpoint access and responses.\u003c/p\u003e\n"],["\u003cp\u003eTo use the tool, sign in with your Google Account, link your account using the demo tool with your Service ID, and run the test with your Project ID.\u003c/p\u003e\n"],["\u003cp\u003eThe tool validates access tokens to ensure they are not in JWT format and include a refresh token when expirable.\u003c/p\u003e\n"],["\u003cp\u003eRefresh tokens are tested to ensure they can be exchanged for new access tokens and that error responses are correctly formatted.\u003c/p\u003e\n"],["\u003cp\u003eThe tool helps prevent potential account linking issues by checking for refresh token rotation behavior during refresh requests.\u003c/p\u003e\n"]]],[],null,["# Test your Google Account Linking OAuth Implementation\n\nThe Google Account Linking OAuth validation test tool tests your OAuth\nimplementation to verify Google is able to access the endpoints and that the\nendpoints are returning the responses expected for a valid Google Account\nLinking implementation.\n\nUsing the test tool\n-------------------\n\n1. If you haven't already signed into the tool, sign in with your Google Account using the **Sign in** button.\n2. Link your account using the [Google Account Linking demo tool](https://gal-demo.withgoogle.com). You should link with the same account you are running the validation test tool with.\n\n | **Note:** The **Service ID** to use in the demo tool is the one you obtained during the [Account Linking registration](https://developers.google.com/identity/account-linking/registration) process.\n3. Enter your **Project ID** and click the **Run** button. This should be the same as the **Service ID** you used to link your account in the previous step.\n\nTool Guide\n----------\n\n### Access token validation test\n\nAccess tokens returned from your token exchange endpoint are validated to ensure responses are in the right format and that a valid refresh token is returned.\n\n| Test | Explanation |\n|----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Validate access token is not in JWT format | Google Account Linking does not support JWT for access tokens. If JWT is detected, the following warning is displayed: `The access token seems to be a JWT which is not supported for token exchange endpoints.` |\n| Validate expirable access token has refresh token. | A refresh token must be provided when the access token is expirable. This test will fail if no refresh token is found. |\n\n### Refresh token validation test\n\nRefresh tokens are tested to ensure your token exchange endpoint properly exchanges them for new access tokens.\n\n| Test | Explanation |\n|--------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Validate invalid refresh token response. | Your server should return an HTTP `400 Bad Request` error with `{\"error\": \"invalid_grant\"}` to an invalid refresh token request. If the response does not match the error code or message, this test case will fail. Visit [exchange refresh tokens for access tokens](https://developers.google.com/identity/account-linking/oauth-linking?oauth=code#exchange_refresh_tokens_for_access_tokens) for more information. |\n| Validate access token refresh. | New access tokens should be returned in response to refresh token requests. If your server provides the same access token, the test case will fail. |\n| Validate unexpired access token works. | |\n| Validate refresh token was not rotated during refresh. | We check if refresh tokens are changed after a refresh token request. If the refresh token changes, your server should only invalidate an old refresh token after a new refresh token has been used, to prevent race conditions that may break a user's account linking. The test will fail if you invalidate the old refresh token before the new one is issued. |"]]