Вопросы не совсем понятны, но я реализовал GITkit в ruby и может дать вам несколько указателей.
A) URL обратного вызова - это то, что обрабатываетутверждение от провайдеров идентификации.Rightnow GITKit выполняет только OpenID, поэтому URL будет содержать ответ OpenID либо в параметрах запроса, либо в виде тела POST.Вам нужно будет сделать несколько вещей: 1) Вызвать verifyAssertion в gitkit API и передать params / post body.Это вернет JSON-ответ, содержащий сведения о пользователе (при условии, что утверждение верно).Есть и другие проверки, которые вы должны сделать также 2) Решите, что делать с утверждением.Если это уже существующий пользователь, скорее всего, вы просто установите сеанс и сохраните идентификатор пользователя.Если это новый пользователь, вы можете либо создать новую учетную запись и немедленно начать сеанс, либо отложить ее и перенаправить на страницу регистрации.3) Рендеринг HTML / JS для уведомления виджета.Существуют различные коды состояния и данные, которые вы можете вернуть, которые изменяют поток.
Сам GITKit на самом деле не управляет состоянием сеанса, это зависит от вашего приложения.В некоторых ссылочных реализациях есть код для помощи, но он не является частью API.У виджета действительно есть состояние, которым вы можете управлять с помощью JS (добавить учетную запись, показать как вход в систему и т. Д.), И оно использует локальное хранилище в браузере.
В документах приведены некоторые подробности и пример.код для того, как это должно быть реализовано.
B) Конечно.URL-адрес только что настроен в виджете JavaScript, когда вы вызываете setConfig (). Он может быть установлен на localhost или любой промежуточный сервер для разработки.Пока ваш браузер может получить доступ к нему, все в порядке.
C) Под "нативным" я предполагаю, что вы имеете в виду, что они регистрируются только с помощью имени пользователя / пароля вместо использования IDP.Если это так, пользователь просто должен ввести свой адрес электронной почты при входе в систему. Если этот адрес электронной почты соответствует известному IDP, он попытается пройти аутентификацию с OpenID, в противном случае, если это новый пользователь, он перенаправит на любую страницу регистрации, которую вы настроили ввиджет.Эта страница регистрации просто попросит пользователя создать пароль, как вы это обычно делаете.Вы также должны указать, являются ли учетные записи «устаревшими» (парольными) учетными записями в проверках userStatus.
Надеюсь, это поможет.