OpenID: Какой я должен использовать для индексации пользователя “openid_identity” или “openid_claimed_id”?

Результат присвоения

x = x++;

не определен в C и C++ , и я предположил бы то же с C# также.

Так, фактическая последовательность операций, которая происходит, зависят от того, как компилятор решает к реализациям его, нет никакой гарантии, произойдут ли присвоение или инкремент сначала. (это четко определено в C#, как Jon Skeet указал в комментариях. Хотя я теперь чувствую, что этот ответ имеет намного меньше ценности теперь, я остаюсь на этом посту, восстановленном после удаления для вопроса OP и его ответа в комментариях.)

Однако в этом случае, это появляется последовательность операций, которая происходит:

  1. старое значение (10) из x сохраняется
  2. , x увеличен для ++ часть
  3. , которая старое значение теперь присвоено x для присвоения

Таким образом, хотя инкремент происходит, это настигает присвоение со старым значением, таким образом сохраняя x в 10.

HTH

7
задан Raziel 14 June 2016 в 10:51
поделиться

2 ответа

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

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

7
ответ дан 7 December 2019 в 12:23
поделиться

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

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

-2
ответ дан 7 December 2019 в 12:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: