2009-08-27 15 views
7

Tôi đang viết một Bên đáng tin cậy và sử dụng nhà cung cấp của Google. Yadis dẫn tôi đến https://www.google.com/accounts/o8/ud, tôi tạo ra một hiệp hội, và chuyển hướng trình duyệt của người dùng tới URL đó (HTTP 307), và điền vào các thông số truy vấn sau đây:Google OpenID: trang bạn yêu cầu không hợp lệ

  • openid.ns: http://specs.openid.net/auth/2.0
  • openid.mode: checkid_setup
  • openid.assoc_handle: value_received_from_association,
  • openid.return_to: http://my_host:and_port/?returned=1

AFAICT, tôi đã điền tất cả mọi thứ tôi s upposed để cung cấp, nhưng trình duyệt của người dùng của tôi nhận được một trang từ google mà nói "Trang bạn yêu cầu không hợp lệ". Bằng cách nào?

Trả lời

4

Các lỗi được nghĩa đen gây ra bởi không bao gồm openid.claimed_idopenid.identity thông số, mà phải được thiết lập để "http://specs.openid.net/auth/2.0/identifier_select". Với những thiết lập này, tôi nhận được một lỗi khác, có thể được giải quyết bằng cách điền vào openid.realm, với cùng giá trị như openid.return_to.

Mặc dù tôi cũng đã triển khai khám phá RP, Google dường như không sử dụng nó.

+0

Oh ya, không biết làm thế nào tôi bỏ lỡ điều đó. :) Trên thực tế, đặc tả OpenID cho phép sự vắng mặt của 'openid.claimed_id' và' openid.identity', nhưng Google và hầu hết các OP không thực sự hỗ trợ hành vi đó. –

1

Bạn đã thiết lập khám phá RP cho trang web chưa? Đó là điều khác bạn cần làm và Google có thể đang thực thi nó ngay bây giờ.

http://blog.nerdbank.net/2008/06/why-yahoo-says-your-openid-site.html

+0

Làm cách nào điều này có thể hoạt động? URL duy nhất tôi cung cấp cho google là URL return_to và tôi biết thực tế là Google không cố gắng truy cập vào URL đó. –