Компания, в которой я работаю, хочет опубликовать внутренний веб-сайт для внешнего мира, но также хочет легко идентифицировать посетителей. Некоторые функции будут видны всем посетителям, но большинство из них должны быть видны для аутентифицированных посетителей. (И некоторые функциональные возможности ограничены посетителями-администраторами.) Хотя руководство рассматривает возможность внедрения нашей собственной системы аутентификации, я предложил просто использовать существующую технологию, которая уже доступна и которая скрывает от нас управление именами пользователей и паролями. (Потому что мы просто любители, когда говорим о безопасности. Аутентификация должна быть очень хорошей.)
Итак, я начал с OpenID от Google и изучил библиотеку, которую они предоставляют. Выглядит простым в использовании, и я могу получить токены, которые говорят мне, что пользователь аутентифицирован. Но как мне идентифицировать этого пользователя, чтобы я мог связать информацию нашего профиля с его идентификатором / токеном / кем угодно?
Я знаю, что мне чего-то не хватает, поэтому для простоты: мне просто нужен пример, который показывает, как аутентифицировать посетителя с помощью Google, а затем получить некоторый токен, который я могу использовать для ссылки на этого пользователя навсегда. (Таким образом, токен сеанса отсутствует.) Этот токен можно затем использовать для того, чтобы пользователь мог заполнить свой профиль.