Có cách nào để sử dụng nhà cung cấp OAuth2 khác với Google Cloud Endpoints không? Tôi có nghĩa là ví dụ, có được xác thực từ Facebook và sử dụng nó giống như cách chúng tôi sử dụng Auth Tài khoản Google (sử dụng gapi js và đặt lớp người dùng trên @ApiMethod
)Điểm cuối của Google Cloud với nhà cung cấp oAuth2 khác
Trả lời
No. Tôi đã gặp người khác hỏi câu hỏi này và câu trả lời từ google folks (nếu tôi nhớ chính xác) là xác thực người dùng thiết bị đầu cuối hiện chỉ hỗ trợ tài khoản Google.
Có cách nào để thực hiện thay thế không? Giống như lưu trữ Người dùng trong phiên? (Tôi vừa phát hiện ra phiên đó cũng không hoạt động trong Google Cloud Endpoint) –
Chắc chắn, bạn có thể thực hiện bất kỳ thay thế nào bạn muốn và bạn có thể chuyển mã thông báo của hệ thống qua điểm cuối, nhưng bạn sẽ phải tự thực hiện xác thực. – Tom
vấn đề ở đây là làm thế nào để kiểm soát phiên người dùng, bởi vì Google Endpoint không cung cấp phiên, phải không? –
tôi đã viết một ví dụ trao đổi một access token Facebook cho một tạo ra bởi ứng dụng của tôi, và xác nhận nó từ bên trong một phương pháp thiết bị đầu cuối:
https://github.com/loudnate/appengine-endpoints-auth-example
Bạn phải thực hiện của riêng bạn Authenticator
và cập nhật @Api
cấu hình. Dựa trên answer này một xác thực đơn giản sẽ trông như thế này:
public class MyAuthenticator implements Authenticator {
@Override
public User authenticate(HttpServletRequest request) {
String token = request.getHeader("Authorization");
if (token != null) {
// apply your Facebook/Twitter/OAuth2 authentication
String user = authenticate(token);
if (user != null) {
return new User(user);
}
}
return null;
}
}
Và API của bạn định nghĩa
@Api(name = "example", authenticators = {MyAuthenticator.class})
Thông tin thêm về thực hiện chứng thực tùy chỉnh, bạn có thể tìm thấy trong Google documentation.
Google Cloud Endpoints cho phép bạn khôi phục User, HttpServletRequest và HttpServletContext vào các phương thức API của bạn bằng cách tiêm nó làm tham số.
Nó không phải là OAuth2 nhưng đây là một khởi đầu của một giải pháp: https://www.yanchware.com/custom-authentication-for-google-cloud-endpoints/
Các giải pháp được đề xuất là phải tiêm HttpServletRequest trong các phương pháp api cụ thể để truy cập vào phiên.
- 1. Không có bộ chuyển đổi nào cho lỗi trình xử lý đối với điểm cuối của nhà cung cấp oauth2
- 2. Google Guice: nhà cung cấp với các thông số
- 3. Nhà cung cấp OpenID Connect
- 4. Điểm cuối của Google Cloud có thể được truy cập bằng hàng đợi tác vụ không?
- 5. Google Cloud Endpoints Security (OAuth2) và lược đồ người dùng tùy chỉnh
- 6. API truy cập đơn giản (Khóa nhà phát triển) với Google Cloud Endpoint (Python)
- 7. máy chủ nhà cung cấp oauth2 đang hoạt động được triển khai trên java
- 8. Nhà cung cấp MSSCCAPI Mercurial?
- 9. Yêu cầu từ nhà cung cấp OpenID
- 10. Symfony2 bin/nhà cung cấp
- 11. Nhà cung cấp thành viên Active Directory và Nhà cung cấp hồ sơ SQL
- 12. Google Cloud Storage với get_serving_url
- 13. Nhà cung cấp dịch vụ LINQ passthrough?
- 14. Nhà cung cấp phiên RavenDB ASP.NET?
- 15. Ví dụ về Nhà cung cấp nội dung và Nhà cung cấp nội dung?
- 16. Thứ tự của tờ khai CSS nhà cung cấp cụ
- 17. Nhà cung cấp mạng tạo 2 bản sao của một địa điểm
- 18. LINQ to Salesforce "SQL" nhà cung cấp
- 19. Nhà cung cấp OpenID cung cấp thông tin cá nhân nào cho người tiêu dùng?
- 20. Gem cho OAuth2 Consumer VÀ chức năng cung cấp trong Rails 2.3.5
- 21. Nội dung của rt.jar có thay đổi trên các nhà cung cấp JVM khác nhau không?
- 22. Lỗi trong ASP.NET MVC 4 với Nhà cung cấp Universal
- 23. Danh sách các nhà cung cấp oEmbed
- 24. Dịch vụ ODF WCF với Nhà cung cấp Phản ánh
- 25. nạp lại nhà cung cấp loại
- 26. cập nhật nhà cung cấp Android.Settings.System value
- 27. Sử dụng tư cách thành viên asp.net với sqlite hoặc nhà cung cấp khác?
- 28. Sẽ có các nhà cung cấp dịch vụ Điện toán đám mây khác của .NET không?
- 29. Zend Framework Nhà cung cấp Oauth
- 30. onTạo Nhà cung cấp Nội dung
Kiểm tra điều này: http://stackoverflow.com/questions/18716674/facebook-login-in-google-cloud-endpoints/22495862#22495862 –