Существует два шага для проверки идентификатора OpenID. Один просто проверяет свою форму без доступа к сети. И Identifier.IsValid
делает это. Да, одна буква на самом деле является действительным OpenID "предоставленным пользователем идентификатором". Это может быть идентификатор OpenID, размещенный на другом компьютере в вашей локальной сети. Невозможно знать наверняка, если вы действительно не сделаете следующий шаг, который является OpenIdRelyingParty.CreateRequest
и посмотрите, не сработает ли он.
StackOverflow предпринимает некоторые дополнительные шаги проверки, анализируя возможные идентификаторы и создавая пользовательские правила, отклоняющие идентификаторы, которые не похожи на вероятные реальные идентификаторы (хотя технически они могут быть). Насколько я знаю, нет исчерпывающего списка того, что это такое, поэтому вам придется написать свою собственную логику, если вы хотите провести дополнительную проверку. Просто допустите ошибку при разрешении идентификаторов, так как, если вы слишком избирательны к выбранным данным, вы можете поставить галочку для некоторых пользователей.