Я считаю, что ответы Рената Гилманова и Flup должны быть полезны вам, но я постараюсь ответить на вопрос, который был задан здесь.
Нет, это не значит, что вы обращаетесь на сайт третьей стороны по каждому запросу. На самом деле, вы не можете, так как весь процесс OpenID должен произойти один раз для данного сеанса (это несколько раздражает ручной шаг для пользователя)
Я буду ссылаться на поставщика OpenID (стороннего) как Google, так как это пример, который вы дали в вопросе. Единственная вещь, которую Authentication будет делать для вас, - это гарантия Google, что человек, делающий этот конкретный запрос, также знает пароль к имени учетной записи Google, которое они вам предоставили.
После этого вы должны следить за запросами, исходящими от одного и того же «человека», и рассматривать их как одну учетную запись. В принципе, однако вы обрабатываете остальную часть информации о сеансе пользователя, теперь вы можете предположить, что все запросы в этом сеансе принадлежат этому пользователю.
Наиболее распространенным способом было бы передать куки-файлы в браузер сразу, в котором содержится некоторый идентификатор, который вы отслеживаете на сервере, и это подтверждает, что тот, кто передает вам этот файл cookie, также является тем, кто знал пароль для этой учетной записи Google. Другой вариант - отправлять пользовательские заголовки HTTP, что предпочтительнее определенным образом, но сложнее сделать вручную.
Вы можете создать все это вручную, но я очень рекомендую найти некоторый код библиотеки, чтобы позаботиться о максимально возможной для вас возможности. Вы не упоминаете, что используете для создания этого веб-приложения (на самом деле, вы явно не заявляете, что это веб-приложение, я просто почерпнул это из-за того, как был отмечен вопрос), но есть много вариантов для почти все рамки или системы, которые вы, вероятно, будете использовать.
На каком-то уровне все, что я написал, применяется, если вы также пишете API для родного мобильного приложения. Но вам, возможно, придется перепрыгнуть через несколько более сложные обручи, чтобы пользователь аутентифицировался, поскольку некоторые поставщики OpenID предполагают, что вы проходите через веб-браузер.
** авторизация! = Аутентификация **. Короче говоря: при входе вы обычно ** аутентифицируете ** пользователя. В процессе OAuth пользователь ** разрешает ** третьему лицу получать доступ к некоторым частям его (* или всей *) учетной записи. –