Запрос имени пользователя или уникального идентификатора перед OAUTH/OpenID-Connect

Я создаю веб-сайт, который использует OAuth2.0 и OpenId-Connect(какого-либо стороннего поставщика) для аутентификации пользователя.

Прежде чем перенаправить пользователя на страницу OAuth поставщиков, я не прошу пользователя вводить уникальный идентификатор пользователя на моем веб-сайте, я думал об использовании идентификатора электронной почты пользователей, который я получаю как часть IDToken после завершения процесса авторизации, так как Имя пользователя (уникальный идентификатор) для моего сайта.

Но после просмотра спецификации OpenID здесь
https://openid.net/specs/openid-connect-core-1_0.html

Он говорит, что emailid не является обязательным и не может быть возвращен.

Поэтому возникает вопрос: является ли это стандартной практикой просить пользователя предоставить уникальное имя (которое я могу использовать в качестве идентификатора пользователя на моем веб-сайте), прежде чем инициировать процесс OAUTH/OpenID-Connect?

Спасибо

2 ответа

Решение

Подпретензия должна быть уникальной в соответствии с запросом. Требуемые претензии всегда будут присутствовать. Вы можете использовать субстанцию ​​iss + для уникальной идентификации пользователей.

Чтобы добавить дополнительную информацию, каждому поставщику OpenID-соединения необходимо предоставить конечную точку /userinfo для получения информации о пользователях с использованием токена доступа.

вот спецификация
https://openid.net/specs/openid-connect-core-1_0.html

Другие вопросы по тегам