OpenID: Какой мне следует использовать для индексации пользователя "openid_identity" или "openid_claimed_id"? - PullRequest
7 голосов
/ 19 сентября 2009

Какой из них следует использовать для индексации пользователя из процесса авторизации Openid. "openid_identity" или "openid_claimed_id"? Я использую Dope OpenId класс и возвращаемые данные:

[openid_ns] => http://specs.openid.net/auth/2.0
[openid_mode] => id_res
[openid_return_to] => http://localhost/login/authenticate
[openid_claimed_id] => https://me.yahoo.com/a/wK7..MjM-#607
[openid_identity] => https://me.yahoo.com/a/wK7...MjM-
[openid_realm] => http://localhost/
[openid_assoc_handle] =>odm...j24yhwlT...2TOXQ9.sifIz3eLZoU.....jOoGM...9VPcMVavQkVgEQ--
[openid_response_nonce] => 2009-09-19T12:35:08Z95e...WtOYlQ--
[openid_signed] => assoc_handle,claimed_id,identity,mode,ns,op_endpoint,response_nonce,return_to,signed,ns.pape,pape.auth_level.ns.nist,pape.auth_level.nist,pape.auth_policies
[openid_op_endpoint] => https://open.login.yahooapis.com/openid/op/auth
[openid_ns_pape] => http://specs.openid.net/extensions/pape/1.0
[openid_pape_auth_level_ns_nist] => http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf
[openid_pape_auth_level_nist] => 0
[openid_pape_auth_policies] => http://schemas.openid.net/pape/policies/2007/06/none
[openid_sig] => kO7......EitU=

Спасибо

Ответы [ 2 ]

7 голосов
/ 20 сентября 2009

Используйте параметр openid.claimed_id в качестве логического первичного ключа для пользователей. Рассматривайте его как с учетом регистра и используйте значение whole . не обрезать фрагмент или схему (протокол). Относитесь к протоколам "http://"" и "https://" как к совершенно разным, даже если остальная часть URL совпадает. Короче говоря, трактуйте openid.claimed_id как непрозрачное значение это должно быть полностью сохранено для новых пользователей и полностью соответствовать для возвращающихся пользователей.

Спецификация OpenID 2.0 объясняет дополнительно, но краткий ответ выше.

0 голосов
/ 19 сентября 2009

Вы всегда должны хранить каноническую форму OpenID, предоставленную пользователем в качестве ввода из-за делегирования OpenID.

В вашем случае похоже, что заявленное удостоверение имеет идентификатор фрагмента в конце, который не имеет отношения к процессу OpenID.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...