Сохраните ClaimedIdentifier
для пользователя openid - не адрес провайдера.Заявленный идентификатор - это то, что проверяет протокол OpenID, является уникальным для пользователя, а также потенциально обеспечивает переносимость между провайдерами OpenID.
Кроме того, поскольку заявленные идентификаторы OpenID 2.0 могут быть объявлены устаревшими в OpenID Connect (незавершенный преемник OpenID2.0), также может быть в ваших интересах записать URI конечной точки провайдера OpenID и адрес электронной почты, указанный провайдером в записи пользователя.Пока не используйте их как часть процесса аутентификации, но, записав их, вы сможете позже определить, каким адресам электронной почты вы доверяете (т.е. предположим, что вы решаете адреса электронной почты, утвержденные Googleзаслуживают доверия) и позволяют пользователю таким образом перенести свою учетную запись в учетную запись OpenID Connect с использованием этого подтвержденного адреса электронной почты.Это также снизит опасность того, что область вашего веб-сайта (обычно http://yourdomainname.com) изменяется и приводит к изменению всех заявленных идентификаторов пользователей Google, которые могут быть трагически восстановлены только с их адреса электронной почты.
Я также рекомендую использовать разные таблицы для разных типов аутентификации. Здесь есть несколько преимуществ. Наиболее важным является то, что с архитектурной точки зрения становится труднее создать дыру в безопасности на вашем веб-сайте, которая может позволить кому-товведите (например) OpenID в поле имени пользователя и пустой пароль, чтобы он отображался как совпадение базы данных и вход в систему без какой-либо реальной аутентификации. Во-вторых, он обеспечивает более гибкую модель на случай, если вы хотите добавить третью аутентификацию.механизм, а не для того, чтобы ваша таблица «Аутентификация» росла горизонтально для всех пользователей. Например, OAuth 2.0 и «OpenID Connect» каждый, вероятно, будет вводить новые типы аутентификации на вашем сайте, когда вы добавляетеподдержка на протяжении многих лет, и добавление новых таблиц для обработки новых типов данных, кажется, подходит лучше.