Có thể triển khai đăng nhập một lần thông qua OpenId tích hợp trên App Engine không? Tôi đang cố gắng tích hợp ứng dụng Marketplace và yêu cầu người dùng đăng nhập khi đến từ Google Apps (bảng quản trị hoặc điều hướng chung). Tôi đã thất bại thảm hại và bây giờ tôi đã tìm thấy điều này:
"Ngoại lệ duy nhất là các ứng dụng OpenID/OAuth hỗn hợp - danh sách trắng hiện không hoạt động với phương pháp này." (thông quađây)
Tôi giả định rằng thay vì sử dụng thư viện tích hợp sẵn, tôi phải sử dụng thư viện để triển khai OpenId nhằm triển khai SSO qua Google Apps trong ứng dụng của mình? Ngoài ra, nếu có thể sử dụng OpenId tích hợp thì có ví dụ nào về cách thực hiện việc này không?
Sau đó, Google đã xuất bản một bài viết về cách thực hiện điều đó với Python:
http://code.google.com/googleapps/marketplace/tutorial_python_gae.html
Tóm tắt là:
- Bạn phải đưa "Vương quốc OpenID" (miền ứng dụng) của mình vào danh sách trắng trong XML danh sách Marketplace.
- Điểm vào cho Điều hướng chung của Google phải chứa miền Google Apps hiện tại.
- Điểm vào trong ứng dụng của bạn sẽ chuyển hướng người dùng đến
liên kết_identity
Miền Google Apps đã được thông qua.
Ví dụ:
từ người dùng nhập google.appengine.api
# […]
login_url = user.create_login_url(dest_url='http://my-app.appspot.com/',
_auth_domain=Không có,
federated_identity=google_apps_domain_name)
self.redirect(login_url)
Tôi là một lập trình viên xuất sắc, rất giỏi!