2012-01-24 29 views
6

Tôi muốn triển khai Đăng nhập một lần trong ứng dụng của khách hàng. Khách hàng đã lưu trữ email thông qua Google Apps. Vì Google cung cấp OpenID, điều này có thể tương đối dễ thực hiện. Tuy nhiên, người dùng có thể không đăng nhập vào đúng Tài khoản Google (hoặc thậm chí nhiều tài khoản).Giới hạn đăng nhập Google liên kết với miền Apps cụ thể như thế nào?

Vì vậy, khi sử dụng điểm cuối Google OpenID https://www.google.com/accounts/o8/id, người dùng được trình bày với lựa chọn mà Tài khoản Google mà họ muốn đăng nhập. Vì ứng dụng sẽ chỉ cho phép đăng nhập từ miền Google Apps, bước này có thể bị bỏ qua và phải dành cho trải nghiệm người dùng tăng lên. Tôi có thể, tuy nhiên, không tìm cách để làm điều này. Có this question trên SO, nhưng các liên kết đều đã chết hoặc tham chiếu đến các thông số lỗi thời. Ngoài ra tôi không thể tìm thấy gợi ý trong thông số kỹ thuật Federated Login for Google Account Users.

Một số nơi nói ta nên sử dụng https://www.google.com/a/[domain]/o8/ud?be=o8, nhưng điều đó dường như không làm việc (nữa):

$ wget --header='Accept: application/xrds+xml' https://www.google.com/a/[domain]/o8/ud?be=o8 
2012-01-24 09:29:53 ERROR 400: Bad Request. 

Trả lời

6

Mặc dù tôi không thể tìm thấy tài liệu chính thức, điểm cuối cho một miền Google Apps cụ thể là thế này :

https://google.com/accounts/o8/site-xrds?hd=<domain> 

Khi sử dụng phương pháp này, hãy lưu ý rằng bạn sẽ chạy vào một sửa đổi google cụ thể:

Google đã thay đổi cách phát hiện IdP và XRDS người dùng kiểm tra một chút để cung cấp cho người dùng Google Apps mở ở dạng http://example.com/openid?id=108441225163454056756 mà không yêu cầu người dùng xây dựng các máy chủ riêng của họ. Đối với các công ty nhỏ, mọi người có thể nhận được sự cởi mở của họ dưới tên miền của họ với ít tên miền nếu họ sử dụng Google Apps. source

+0

Điều này không có tác dụng đối với tôi khi sử dụng python trong GAE và users.create_login_url() với url ở trên làm thông số federated_identity. Có ai khác đã thử điều đó không? –

+0

Đã đặt câu hỏi riêng về [this] (http://stackoverflow.com/questions/14637137/how-to-restrict-openid-login-to-one-google-apps-domain-on-gae-again) –

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