Làm cách nào tôi có thể xác minh mã thông báo truy cập xác thực của Google?
Tôi cần truy vấn Google bằng cách nào đó và hỏi: [mã thông báo truy cập] có hợp lệ cho tài khoản Google [example@example.com] không?
Phiên bản ngắn :
Rõ ràng cách mã thông báo truy cập được cung cấp thông qua Xác thực Google Api :: Xác thực OAuth cho Ứng dụng web có thể được sử dụng để sau đó yêu cầu dữ liệu từ một loạt các dịch vụ của Google. Không rõ làm thế nào để kiểm tra xem một mã thông báo truy cập nhất định có hợp lệ cho một tài khoản Google nhất định hay không. Tôi muốn biết làm thế nào.
Phiên bản dài :
Tôi đang phát triển API sử dụng xác thực dựa trên mã thông báo. Mã thông báo sẽ được trả lại khi cung cấp tên người dùng + mật khẩu hợp lệ hoặc khi cung cấp mã thông báo của bên thứ ba từ bất kỳ một trong số N dịch vụ có thể xác minh được.
Một trong những dịch vụ của bên thứ ba sẽ là Google, cho phép người dùng xác thực với dịch vụ của tôi bằng tài khoản Google của họ. Điều này sau đó sẽ được mở rộng để bao gồm các tài khoản Yahoo, nhà cung cấp OpenID đáng tin cậy, v.v.
Ví dụ sơ đồ về truy cập dựa trên Google:
văn bản thay thế http://webignition.net/images/fftime/auth_figure002.png
Thực thể 'API' nằm dưới sự kiểm soát hoàn toàn của tôi. Thực thể 'giao diện công cộng' là bất kỳ ứng dụng dựa trên web hoặc máy tính để bàn nào. Một số giao diện công cộng nằm dưới sự kiểm soát của tôi, những giao diện khác sẽ không còn những giao diện khác mà tôi thậm chí có thể không bao giờ biết đến.
Do đó, tôi không thể tin tưởng mã thông báo được cung cấp cho API ở bước 3. Điều này sẽ được cung cấp cùng với địa chỉ email tài khoản Google tương ứng.
Tôi cần truy vấn Google bằng cách nào đó và hỏi: Mã thông báo truy cập này có hợp lệ cho example@example.com không?
Trong trường hợp này, example@example.com là số nhận dạng duy nhất của tài khoản Google - địa chỉ email mà ai đó sử dụng để đăng nhập vào tài khoản Google của họ. Đây không thể được coi là một địa chỉ Gmail - ai đó có thể có tài khoản Google mà không cần có tài khoản Gmail.
Tài liệu Google nêu rõ cách thức, với mã thông báo truy cập, dữ liệu có thể được truy xuất từ một số dịch vụ của Google. Dường như không có gì để nói làm thế nào bạn có thể kiểm tra xem một mã thông báo truy cập nhất định có hợp lệ ở vị trí đầu tiên hay không.
Cập nhật Mã thông báo hợp lệ cho N dịch vụ của Google. Tôi không thể thử mã thông báo đối với dịch vụ của Google như là phương tiện để xác minh vì tôi sẽ không biết tập hợp con nào trong tất cả các dịch vụ của Google mà một người dùng cụ thể thực sự sử dụng.
Hơn nữa, tôi sẽ không bao giờ sử dụng mã thông báo truy cập xác thực của Google để truy cập bất kỳ dịch vụ nào của Google, chỉ đơn thuần là một phương tiện để xác minh người dùng Google được cho là thực sự họ là ai. Nếu có một cách khác để làm điều này, tôi rất vui lòng thử.